:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif}
body{background:var(--cream);background-image:none}
.topbar{background:rgba(255,247,232,.94);border-bottom:2px solid var(--ink)}
.brand{font-size:20px;line-height:1}.brand>span:last-child{display:flex;flex-direction:column;gap:4px}.brand small{font-size:8px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}
.brand-mark{width:38px;height:38px;border-radius:50% 50% 50% 8px;background:var(--coral);color:#fff;transform:rotate(-7deg);box-shadow:3px 3px 0 var(--ink)}
.hero{position:relative;overflow:hidden;padding-top:50px;background:linear-gradient(125deg,#fff7e8 0 72%,#c9f36b 72% 100%);text-align:left}
.hero:after{content:'→';position:absolute;right:8%;top:38px;font-size:112px;line-height:1;color:rgba(21,35,60,.07);transform:rotate(-12deg)}
.hero>*{max-width:780px;margin-left:auto;margin-right:auto}.hero h1{margin-top:13px;font-family:"Trebuchet MS",sans-serif;font-weight:900;letter-spacing:-3px}.hero h1 em{color:var(--green);font-style:normal}.hero>p{margin-left:auto;margin-right:auto;font-size:15px;line-height:1.45}.trust-row{justify-content:flex-start}
.compact-title{margin:0 0 3px}.form-step[data-step="1"] #originHint,.form-step[data-step="1"] .date-hint{display:none}
.planner{border:2px solid var(--ink);border-radius:18px;box-shadow:10px 10px 0 var(--ink)}
.draft-badge{background:#c9f36b;color:var(--ink);border:1px solid var(--ink)}
.progress{height:8px;background:#e9e8e2}.progress span{background:var(--coral)}
input,select,textarea,.date-range-trigger,.money-input,.days-input{border:1.5px solid #b9bfca;border-radius:9px}
.primary{background:var(--ink);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--coral);border-radius:9px}.primary:hover{background:var(--green);transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--coral)}
.ghost{border:1.5px solid var(--ink);border-radius:9px;color:var(--ink)}
.choice,.persona{border:1.5px solid #b9bfca;border-radius:10px}.choice:has(input:checked),.persona:has(input:checked){background:#c9f36b;border-color:var(--ink);color:var(--ink);box-shadow:3px 3px 0 var(--ink)}
.persona-explanation{background:#f0edff;border-left-color:var(--green)}.persona-explanation .explain-icon{background:var(--green)}
.chips span,.mobility-grid span{background:#fffdf8;border:1.5px solid #c7cbd3}.chips input:checked+span,.mobility-grid input:checked+span{background:#c9f36b;border-color:var(--ink);color:var(--ink);box-shadow:2px 2px 0 var(--ink)}
.results{background:#f0edff;border-top:2px solid var(--ink)}.trip-card{border:1.5px solid var(--ink);border-radius:14px;box-shadow:6px 6px 0 rgba(21,35,60,.14)}
.fit-badge{border:1px solid var(--ink)}.compat-badge{background:#c9f36b;color:var(--ink);border:1px solid var(--ink)}
.details-btn{background:var(--ink)}.plan-b{background:var(--ink);border:2px solid var(--ink);box-shadow:7px 7px 0 var(--coral)}
.eyebrow{color:var(--green)}dialog{border:2px solid var(--ink);border-radius:16px;box-shadow:10px 10px 0 var(--coral)}
footer{background:var(--ink)}footer .brand small{color:#c9f36b}.city-guide{margin-top:26px;padding:18px;border:2px solid var(--ink);border-radius:13px;background:#fff7e8;box-shadow:5px 5px 0 #c9f36b}.city-guide h3{margin:5px 0}.city-guide>p{margin:0 0 13px;color:var(--muted);font-size:12px}.guide-progress{font-size:10px;font-weight:800;color:var(--green);margin-bottom:8px}.guide-list{display:grid;gap:7px}.guide-list label{display:flex;align-items:center;gap:9px;margin:0;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer}.guide-list input{position:absolute;opacity:0;width:1px}.guide-list label>span{display:grid;place-items:center;width:22px;height:22px;border:1.5px solid #9ca4b2;border-radius:6px;color:transparent}.guide-list label:has(input:checked){background:#f0edff;border-color:var(--green)}.guide-list input:checked+span{background:var(--green);border-color:var(--green);color:#fff}.itinerary{margin-top:25px;border:2px solid var(--ink);border-radius:13px;background:#fff}.itinerary summary{display:flex;justify-content:space-between;padding:15px;cursor:pointer;list-style:none;font-weight:900}.itinerary summary::-webkit-details-marker{display:none}.itinerary summary strong{color:var(--green)}.itinerary-days{padding:0 15px 15px}.itinerary-days article{display:grid;grid-template-columns:48px 1fr;gap:9px;padding:11px 0;border-top:1px dashed #bbc0ca}.itinerary-days article>span{color:var(--coral);font-size:10px;font-weight:900;text-transform:uppercase}.itinerary-days p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
.choice-grid.three{grid-template-columns:repeat(3,1fr)}.choice small{display:block;margin-top:4px;color:var(--muted);font-size:9px;font-weight:500}.mobility-grid{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.mobility-grid label{margin:0}.mobility-grid input{position:absolute;opacity:0;width:1px}.mobility-grid span{display:block;padding:9px 11px;border-radius:50px;font-size:11px;cursor:pointer}.more-interests{flex-basis:100%;margin-top:5px;border-top:1px dashed #aeb4c0;padding-top:10px}.more-interests summary{cursor:pointer;color:var(--green);font-size:12px;font-weight:800}.more-interests>.chips{margin-top:10px}
.mobility-grid>label>span,.more-mobility .mobility-grid label>span{min-width:132px;border-radius:10px;padding:9px 10px;line-height:1.2}.mobility-grid span b{font-size:11px}.mobility-grid span small{display:block;margin:4px 0 0 21px;color:var(--muted);font-size:9px}.mobility-grid input:checked+span small{color:var(--ink)}.more-mobility{flex-basis:100%;margin-top:3px}.more-mobility summary,.more-needs summary{cursor:pointer;color:var(--green);font-size:11px;font-weight:850}.more-mobility>.mobility-grid{margin:9px 0 0}.mobility-cost-preview{margin:-7px 0 18px}.mobility-combo.compact,.mobility-combo.warning{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:10px;background:#f0edff;border:1px solid var(--ink)}.mobility-combo span,.mobility-combo small{display:block}.mobility-combo small{margin-top:3px;color:var(--muted);font-size:9px}.mobility-combo b{font-size:15px;white-space:nowrap}.mobility-combo.warning{background:#fff7e8}.mobility-math{margin-top:6px;padding:0 3px}.mobility-math summary{cursor:pointer;color:var(--green);font-size:10px;font-weight:800}.mobility-math p{margin:6px 0 0;color:var(--muted);font-size:9px;line-height:1.5}.more-needs{margin:-7px 0 18px}.more-needs .check-list{margin:10px 0 0}
@media(max-width:560px){.hero{background:linear-gradient(160deg,#fff7e8 0 75%,#c9f36b 75% 100%)}.hero h1{font-size:39px;letter-spacing:-2px}.hero:after{font-size:90px;right:-18px;top:25px}.planner{box-shadow:6px 6px 0 var(--ink)}.choice-grid.three{grid-template-columns:repeat(3,1fr)}.choice{font-size:11px;padding-left:3px;padding-right:3px}.choice small{display:none}}
.partner-preview{margin:24px 0 8px;padding:18px;border:2px solid var(--ink);border-radius:13px;background:#f0edff}.partner-preview h3{margin:5px 0}.partner-preview>p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.partner-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.partner-actions button{padding:11px;border:1.5px solid var(--ink);border-radius:9px;background:#fff;color:var(--ink);font-weight:800;text-align:left}.partner-actions button:hover{background:#c9f36b}.partner-note{display:block;margin-top:10px;color:var(--muted);font-size:10px;line-height:1.45}.partner-modal-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#c9f36b;border:1.5px solid var(--ink);font-size:24px}.partner-summary{margin:14px 0;padding:12px;border-radius:10px;background:var(--cream);font-size:12px;line-height:1.6}
.package-items{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px}.package-items>div{display:flex;justify-content:space-between;gap:8px;padding:9px 10px;border:1px solid #d5d1f3;border-radius:9px;background:#fff;font-size:10px}.package-total{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px;padding:12px;border:1.5px solid var(--ink);border-radius:11px;background:#c9f36b}.package-total span small,.package-total span strong{display:block}.package-total span small{font-size:8px;text-transform:uppercase}.package-total span strong{font-size:19px}.package-total .primary{padding:10px 12px;font-size:10px}.individual-booking{margin-top:12px}.individual-booking summary{cursor:pointer;color:var(--green);font-size:10px;font-weight:850}
.field-explain{margin:-10px 0 13px;color:var(--muted);font-size:11px;line-height:1.5}
.card-visual{isolation:isolate}.destination-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.card-visual:after{inset:0;width:auto;height:auto;right:0;bottom:0;border-radius:0;background:linear-gradient(180deg,rgba(21,35,60,.08),rgba(21,35,60,.36));z-index:1}.destination-icon{z-index:2;font-size:28px;right:15px;bottom:10px}.detail-hero{position:relative;isolation:isolate;overflow:hidden;min-height:148px;display:flex;align-items:end;padding:16px 18px}.detail-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,20,35,.02),rgba(11,20,35,.8));z-index:1}.detail-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.detail-copy{position:relative;z-index:2}.detail-copy h2{font-size:25px}.detail-copy p{margin-bottom:0;max-width:540px;font-size:11px;line-height:1.45}.field-explain+ .mobility-grid{margin-top:0}
.photo-spot{position:absolute;z-index:2;left:12px;bottom:11px;max-width:calc(100% - 58px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 8px;border-radius:8px;background:rgba(17,32,29,.82);color:#fff;font-size:10px;font-weight:800;backdrop-filter:blur(4px)}
.photo-credits-link{display:inline-block;margin-top:3px;color:#c9f36b;font-size:11px;font-weight:800;text-decoration:none}.photo-credits-link:hover{text-decoration:underline}
.weather-preview{margin:18px 0;padding:16px;border:2px solid var(--ink);border-radius:13px;background:#fff7e8}.weather-preview h3{margin:4px 0 12px}.weather-days{display:flex;gap:7px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}.weather-days article{min-width:92px;padding:10px 8px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:center}.weather-days strong,.weather-days small,.weather-days em{display:block}.weather-days strong{font-size:10px;text-transform:capitalize}.weather-days span{display:block;margin:7px 0;font-size:24px}.weather-days small{font-size:10px;font-weight:800}.weather-days em{margin-top:4px;color:var(--muted);font-size:9px;font-style:normal}.weather-preview>small{display:block;margin-top:7px;color:var(--muted);font-size:9px;line-height:1.45}
.event-preview{display:grid;grid-template-columns:46px 1fr;gap:12px;margin:15px 0 22px;padding:15px;border-radius:13px;background:var(--ink);color:#fff}.event-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--coral);font-size:20px}.event-preview .eyebrow{color:#c9f36b}.event-preview h3{margin:4px 0 6px}.event-preview p{margin:0;font-size:12px;line-height:1.5}.event-preview small{display:block;margin-top:7px;opacity:.65;font-size:9px;line-height:1.45}
.mobility-comparator{margin:20px 0;padding:16px;border:2px solid var(--ink);border-radius:13px;background:#fff}.mobility-comparator h3{margin:4px 0}.mobility-comparator>p{margin:0 0 12px;color:var(--muted);font-size:11px}.mobility-comparator>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.mobility-comparator button{display:flex;justify-content:space-between;gap:8px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff;text-align:left;font-size:10px}.mobility-comparator button.active{border-color:var(--ink);background:#c9f36b;box-shadow:2px 2px 0 var(--ink)}.mobility-comparator button strong{white-space:nowrap}
.regional-block{margin:22px 0;padding:17px;border:2px solid var(--ink);border-radius:13px;background:#fff7e8}.regional-block h3{margin:4px 0}.regional-block>p{margin:0 0 12px;color:var(--muted);font-size:11px}.regional-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.regional-grid article{padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff}.regional-grid strong,.regional-grid span,.regional-grid small{display:block}.regional-grid strong{font-size:12px}.regional-grid span{margin:4px 0;color:var(--muted);font-size:10px}.regional-grid small{color:var(--green);font-size:10px;font-weight:800}.source-note{display:block;margin-top:10px;color:var(--ink);font-size:9px;line-height:1.45}
.transport-comparator{margin:18px 0;padding:16px;border:2px solid var(--ink);border-radius:13px;background:#f0edff}.transport-comparator h3{margin:4px 0}.transport-comparator>p{margin:0 0 12px;color:var(--muted);font-size:11px;line-height:1.45}.transport-comparator>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.transport-comparator button{display:flex;flex-direction:column;gap:7px;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left}.transport-comparator button span,.transport-comparator button small{display:block}.transport-comparator button strong{text-transform:capitalize}.transport-comparator button small{margin-top:3px;color:var(--muted);font-size:9px}.transport-comparator button b{font-size:13px}.transport-comparator button.active{background:#c9f36b;border-color:var(--ink);box-shadow:2px 2px 0 var(--ink)}
.reserve-editor{margin:20px 0;padding:16px;border:2px dashed var(--ink);border-radius:13px;background:#fff7e8}.reserve-editor h3{margin:4px 0}.reserve-editor>p{margin:0 0 12px;color:var(--muted);font-size:11px}.reserve-editor form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reserve-editor label{margin:0}.reserve-editor label>small{display:block;margin-top:3px;color:var(--muted);font-size:9px;font-weight:500}.reserve-actions{grid-column:1/-1;display:flex;gap:8px}.reserve-actions button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:560px){.partner-actions{grid-template-columns:1fr}.hero>p{max-width:250px;margin-left:0}}
@media(max-width:560px){.mobility-comparator>div,.regional-grid,.reserve-editor form{grid-template-columns:1fr}.transport-comparator>div{grid-template-columns:1fr}.transport-comparator button{flex-direction:row;align-items:center;justify-content:space-between}.reserve-actions{grid-column:1}.detail-hero{min-height:126px;padding:13px}.detail-copy h2{font-size:21px}.detail-copy p{display:none}.event-preview{grid-template-columns:38px 1fr}.event-icon{width:36px;height:36px}.weather-preview{margin-left:-4px;margin-right:-4px}}

/* Etapa 2: cartões compactos e escolhas visuais */
.form-step[data-step="2"].active{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.planner-card{min-width:0;padding:14px;border:1.5px solid #c7cbd3;border-radius:13px;background:#fff;box-shadow:0 3px 0 rgba(21,35,60,.05)}
.planner-card:first-of-type{grid-column:1/-1}
.planner-card-head{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.planner-card-head .section-icon{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border:1.5px solid var(--ink);border-radius:9px;background:#c9f36b;font-size:15px}
.planner-card-head strong,.planner-card-head small{display:block}.planner-card-head strong{font-size:13px}.planner-card-head small{margin-top:2px;color:var(--muted);font-size:9px;line-height:1.35}
.traveler-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.traveler-controls label{display:flex;align-items:center;justify-content:space-between;gap:9px;margin:0;padding:7px 9px;border-radius:9px;background:#f5f3ff}.traveler-controls label>span{font-size:11px}.traveler-controls select{width:88px;margin:0;padding:8px 9px}.room-suggestion{display:block;margin:7px 3px 0;color:var(--green);font-size:9px;font-weight:800}.needs-disclaimer{display:block;margin-top:9px;color:var(--muted);font-size:8px;line-height:1.4}
.arrival-choices{margin:0}.arrival-choices .choice{padding:10px 4px}.arrival-choices .choice>span{font-size:17px}
.airport-access{display:grid;grid-template-columns:1fr;gap:8px;margin-top:11px;padding:10px;border-radius:10px;background:#f0edff}.airport-access[hidden]{display:none}.airport-access>div strong,.airport-access>div small{display:block}.airport-access>div strong{font-size:10px}.airport-access>div small{margin-top:2px;color:var(--muted);font-size:8px}.airport-access label{display:flex;align-items:flex-start;gap:7px;margin:0;padding:8px;border:1px solid #d5d1f3;border-radius:8px;background:#fff;font-size:9px}.airport-access input{width:auto;margin:2px 0 0}.airport-access span,.airport-access b,.airport-access small{display:block}.airport-access label small{margin-top:2px;color:var(--muted);font-size:8px}
.planner-card .mobility-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0}.planner-card .mobility-grid>label>span{min-width:0;height:100%;padding:9px;border-radius:9px}.planner-card .more-mobility{grid-column:1/-1}.planner-card .more-mobility>.mobility-grid{margin-top:8px}.planner-card .mobility-cost-preview{margin:10px 0 0}.planner-card .mobility-combo.compact,.planner-card .mobility-combo.warning{padding:9px 10px}.planner-card .mobility-combo b{font-size:13px}
.clear-mobility{margin-top:8px;padding:7px 9px;border:1px dashed #aeb4c0;border-radius:8px;background:transparent;color:var(--muted);font-size:9px;font-weight:800}.clear-mobility:hover{border-color:var(--ink);color:var(--ink);background:#fff7e8}
.stay-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.stay-grid label{position:relative;margin:0}.stay-grid input{position:absolute;opacity:0;width:1px;height:1px}.stay-grid span{display:flex;align-items:center;gap:7px;min-height:42px;padding:9px;border:1.5px solid #c7cbd3;border-radius:9px;background:#fffdf8;font-size:10px;line-height:1.2;cursor:pointer;transition:.16s ease}.stay-grid span b{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:#f0edff;color:var(--green)}.stay-grid label:hover span{border-color:var(--green);transform:translateY(-1px)}.stay-grid input:focus-visible+span{outline:3px solid #d8d2ff}.stay-grid input:checked+span{border-color:var(--ink);background:#c9f36b;box-shadow:2px 2px 0 var(--ink)}.stay-grid input:checked+span b{background:var(--ink);color:#fff}
.compact-needs .check-list{grid-template-columns:1fr 1fr;gap:6px;margin:0}.compact-needs .check-list label{display:flex;align-items:center;padding:8px;font-size:9px}.compact-needs .more-needs{margin:10px 0 0}.compact-needs .more-needs .check-list{margin-top:8px}

/* Três cotações claras: só a passagem varia */
.date-optimizer{margin:18px 0;padding:16px;border:2px solid var(--ink);border-radius:14px;background:#fff7e8}.date-optimizer h3{margin:5px 0 4px}.date-optimizer>p{margin:0 0 13px;color:var(--muted);font-size:11px;line-height:1.45}.date-optimizer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.date-optimizer-grid button{display:flex;flex-direction:column;min-width:0;padding:12px;border:1.5px solid #c7cbd3;border-radius:11px;background:#fff;color:var(--ink);text-align:left;transition:.16s ease}.date-optimizer-grid button:hover{border-color:var(--green);transform:translateY(-2px)}.date-optimizer-grid button.best{border-color:var(--ink);background:#c9f36b;box-shadow:3px 3px 0 var(--ink);color:var(--ink)}.date-optimizer-grid button>span{font-size:9px;font-weight:900;text-transform:uppercase}.date-optimizer-grid button>strong{margin:8px 0 3px;font-size:14px}.date-optimizer-grid button>small{color:var(--muted);font-size:9px;line-height:1.4}.date-optimizer-grid button>b{margin-top:9px;font-size:17px}.date-optimizer-grid button em{margin-top:3px;color:var(--green);font-size:9px;font-style:normal;font-weight:800}.date-optimizer-note{display:block;margin-top:12px;color:var(--muted);font-size:9px;line-height:1.45}

/* Balão flutuante da barra de custos */
.interactive-cost-bar{position:relative;overflow:visible;margin:18px 0 24px}.interactive-cost-bar span{position:relative;cursor:help}.interactive-cost-bar span:first-child{border-radius:10px 0 0 10px}.interactive-cost-bar span:last-child{border-radius:0 10px 10px 0}.interactive-cost-bar span:after{content:attr(data-tooltip);position:absolute;z-index:5;left:50%;bottom:calc(100% + 8px);width:max-content;max-width:190px;padding:7px 9px;border:1px solid var(--ink);border-radius:8px;background:var(--ink);color:#fff;font-size:9px;font-weight:800;line-height:1.35;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:.14s ease;box-shadow:3px 3px 0 var(--coral)}.interactive-cost-bar span:hover:after,.interactive-cost-bar span:focus:after{opacity:1;transform:translate(-50%,0)}

.topbar-actions{display:flex;align-items:center;gap:8px}.language-control{display:flex;align-items:center;gap:5px;margin:0;padding:3px 7px;border:1.5px solid var(--ink);border-radius:9px;background:#fff;font-size:12px}.language-control select{width:auto;margin:0;padding:5px 22px 5px 5px;border:0;background:#fff;font-size:10px;box-shadow:none}

@media(max-width:700px){.form-step[data-step="2"].active{grid-template-columns:1fr}.planner-card:first-of-type{grid-column:auto}.traveler-controls{grid-template-columns:1fr 1fr}.traveler-controls label:last-child{grid-column:1/-1}.date-optimizer-grid{grid-template-columns:1fr}.date-optimizer-grid button{display:grid;grid-template-columns:1fr auto;column-gap:9px}.date-optimizer-grid button>span,.date-optimizer-grid button>small,.date-optimizer-grid button em{grid-column:1}.date-optimizer-grid button>strong{margin-top:5px}.date-optimizer-grid button>b{grid-column:2;grid-row:1/5;align-self:center;margin:0}.topbar-actions>#openHow{display:none}}
@media(max-width:380px){.planner-card .mobility-grid,.stay-grid{grid-template-columns:1fr}.planner-card .more-mobility{grid-column:1}.language-control{padding-left:5px}.language-control>span{display:none}}
@media(max-width:430px){.currency-control{display:none}}
.itinerary-actions{display:flex;gap:8px;margin-top:10px;padding-top:12px;border-top:1px dashed #bbc0ca}.itinerary-days p.editing{padding:8px;border:1.5px solid var(--green);border-radius:8px;background:#fff7e8;color:var(--ink);outline:none}
.mobility-builder{margin:20px 0;padding:16px;border:2px solid var(--ink);border-radius:14px;background:#fff}.mobility-builder-head{display:flex;align-items:end;justify-content:space-between;gap:12px}.mobility-builder-head h3{margin:4px 0 0}.mobility-builder-head>strong{font-size:21px}.mobility-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:13px}.mobility-mini-card,.mobility-empty{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:7px;padding:9px;border:1px solid var(--line);border-radius:10px;background:#f8f7ff}.mobility-mini-card>span,.mobility-empty>span{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#c9f36b}.mobility-mini-card strong,.mobility-mini-card small,.mobility-empty strong,.mobility-empty small{display:block}.mobility-mini-card strong,.mobility-empty strong{font-size:10px}.mobility-mini-card small,.mobility-empty small{margin-top:2px;color:var(--muted);font-size:8px}.mobility-mini-card b,.mobility-empty b{font-size:10px}.mobility-empty{grid-column:1/-1}.mobility-drawer{margin-top:11px;border-top:1px dashed #b9bfca;padding-top:10px}.mobility-drawer>summary{display:flex;justify-content:space-between;cursor:pointer;color:var(--green);font-size:11px;font-weight:900}.mobility-drawer>p{margin:8px 0;color:var(--muted);font-size:9px}.mobility-toggle-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.mobility-toggle-grid button{display:flex;justify-content:space-between;gap:8px;padding:9px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:9px;text-align:left}.mobility-toggle-grid button.active{border-color:var(--ink);background:#c9f36b;box-shadow:2px 2px 0 var(--ink)}.mobility-toggle-grid button strong{white-space:nowrap}.mobility-builder .custom-mobility{margin-top:10px;padding-top:10px;border-top:1px dashed #b9bfca}.mobility-builder .custom-mobility>p{margin:3px 0 8px;color:var(--muted);font-size:8px}.mobility-builder .custom-mobility>div{display:grid;grid-template-columns:1fr 130px;gap:7px}.mobility-builder .custom-mobility input{margin-top:0}.mobility-builder .custom-mobility-actions{display:flex!important;grid-column:1/-1;grid-template-columns:none!important}.mobility-builder .custom-mobility-actions button{display:block}
@media(max-width:560px){.mobility-mini-grid,.mobility-toggle-grid{grid-template-columns:1fr}.mobility-empty{grid-column:1}.mobility-builder .custom-mobility>div{grid-template-columns:1fr}.package-items{grid-template-columns:1fr}.package-total{align-items:stretch;flex-direction:column}}
.guided-output{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:14px 0;padding:12px;border-radius:11px;background:#f0edff}.guided-output strong{grid-column:1/-1;font-size:11px}.guided-output span{padding:7px;border-radius:7px;background:#fff;font-size:9px}.guided-form{display:grid;gap:10px}.guided-form label{margin:0}.guided-form label>small{color:var(--muted);font-size:8px;font-weight:500}.guided-form input,.guided-form select,.guided-form textarea{margin-top:5px}.guided-selection{padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff7e8}.guided-selection strong,.guided-selection small{display:block}.guided-selection strong{font-size:10px}.guided-selection small{margin-top:4px;color:var(--muted);font-size:8px;line-height:1.5}.guided-privacy{color:var(--muted);font-size:8px;line-height:1.4}.guided-saved{padding:10px;border-radius:9px;background:#c9f36b;font-size:9px;font-weight:800}
@media(max-width:430px){.guided-output{grid-template-columns:1fr}.guided-output strong{grid-column:1}}
@media(max-width:430px){.currency-control{display:flex}.topbar-actions{gap:4px}.language-control{padding:2px 4px}.language-control select{padding-right:16px}}

/* Identidade visual Ruma — cores amostradas da referência oficial. */
/* A paleta central é aplicada no bloco final deste arquivo. */
body{background:var(--ruma-background);color:var(--ruma-text)}.topbar{min-height:82px;height:auto;padding:10px clamp(14px,3vw,32px);background:rgba(250,248,243,.96);gap:18px}.brand-header{flex:0 1 230px;min-width:160px}.brand-header picture{display:block;width:100%}.brand-header img{display:block;width:clamp(180px,18vw,230px);max-width:100%;height:auto;object-fit:contain}.brand-mobile-name{display:none;color:var(--ruma-purple);font-size:20px;font-weight:900}.topbar-actions{min-width:0;flex-wrap:wrap;justify-content:flex-end}.language-control select{border-color:var(--ruma-border);color:var(--ruma-purple);background:var(--ruma-surface)}
.hero{background:radial-gradient(circle at 86% 15%,rgba(248,97,79,.16),transparent 26%),radial-gradient(circle at 3% 92%,rgba(28,162,162,.13),transparent 30%),var(--ruma-background)}.hero h1{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:var(--ruma-purple);letter-spacing:-2.5px}.hero h1 em{color:var(--ruma-coral);font-style:normal;font-weight:900}.eyebrow,.step-label{color:var(--ruma-teal)}
.planner{border:1px solid rgba(43,26,88,.06)}.planner h2,.results h2,.card-title h3,.modal-content h2{color:var(--ruma-purple);font-family:Inter,ui-sans-serif,system-ui,sans-serif}.progress{height:7px;background:var(--ruma-purple-light)}.progress span{background:linear-gradient(90deg,var(--ruma-teal),var(--ruma-coral))}
input,select,textarea,.money-input{border-color:var(--ruma-border);border-radius:13px;background:var(--ruma-surface);box-shadow:0 2px 8px rgba(43,26,88,.035)}input:focus,select:focus,textarea:focus,.money-input:focus-within{border-color:var(--ruma-purple);box-shadow:0 0 0 3px rgba(43,26,88,.14)}#budget{font-weight:850;color:var(--ruma-purple)}label:has(#budget) .money-input{border-width:2px;position:relative;background:linear-gradient(90deg,rgba(28,162,162,.06),#fff 55%)}label:has(#budget) .money-input:after{content:"limite";margin-right:12px;padding:4px 8px;border-radius:99px;background:var(--ruma-purple-light);color:var(--ruma-purple);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.7px}
.primary,.details-btn{background:var(--ruma-coral);color:#fff;box-shadow:0 6px 15px rgba(248,97,79,.22)}.primary:hover,.details-btn:hover{background:var(--ruma-coral-dark)}.ghost,.compare-btn{background:#fff;border:1px solid var(--ruma-purple);color:var(--ruma-purple)}.ghost:hover,.compare-btn:hover{background:var(--ruma-purple-light)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--ruma-teal);outline-offset:3px}.choice:has(input:checked),.chips input:checked+span,.compare-btn.selected,.trip-pattern-options button.active{background:var(--ruma-purple);border-color:var(--ruma-purple);color:#fff}.choice:has(input:checked){box-shadow:inset 0 -4px 0 var(--ruma-teal)}
.results{background:linear-gradient(180deg,#f4f1f8,var(--ruma-background))}.trip-card{border:1px solid rgba(43,26,88,.08);box-shadow:0 10px 28px rgba(43,26,88,.08);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.trip-card:hover{transform:translateY(-3px);border-color:rgba(43,26,88,.3);box-shadow:0 16px 34px rgba(43,26,88,.13)}.trip-card:has(.compare-btn.selected){border:2px solid var(--ruma-purple)}.price-line strong{color:var(--ruma-purple)}.budget-status{color:var(--ruma-teal)}.budget-status.near{color:#a94a13}.budget-status.over{color:var(--ruma-danger)}.compat-badge{border:2px solid rgba(255,255,255,.9);box-shadow:0 0 0 3px rgba(43,26,88,.28)}
.transport-summary,.trip-pattern,.recommended-period{border-color:rgba(43,26,88,.13)}.transport-summary:before{content:"Origem  →  rota  →  destino";display:block;margin-bottom:8px;color:var(--ruma-teal);font-size:11px;font-weight:900;letter-spacing:.5px}.cost-row.total{color:var(--ruma-purple)}
.ruma-loading{display:flex;align-items:center;justify-content:center;gap:14px;padding:22px;margin:18px 0;border:1px solid var(--ruma-border);border-radius:18px;background:#fff}.ruma-loading[hidden]{display:none}.ruma-loading img{width:52px;height:52px;object-fit:contain;animation:rumaPulse 1.15s ease-in-out infinite}.ruma-loading span{display:block;margin-top:3px;color:var(--ruma-muted);font-size:12px}.empty-result{border:1px dashed var(--ruma-purple);border-radius:18px;background:#fff;padding:28px;color:var(--ruma-muted)}.empty-result:before{content:"";display:block;width:52px;height:52px;margin-bottom:12px;background:url("assets/ruma-logo-compact.png") center/contain no-repeat}.empty-result strong{color:var(--ruma-purple)}.footer-logo{display:inline-block}.footer-logo img{display:block;width:170px;height:auto;filter:brightness(0) invert(1)}
@keyframes rumaPulse{50%{transform:scale(1.06);filter:drop-shadow(0 5px 8px rgba(43,26,88,.22))}}
@media(max-width:760px){.topbar{align-items:flex-start}.brand-header{flex-basis:175px}.brand-header img{width:165px}.topbar-actions{gap:6px}.language-control{min-width:70px}.trip-card:hover{transform:none}}
@media(max-width:560px){.topbar{padding:9px 12px;min-height:70px}.brand-header{flex-basis:145px;min-width:130px}.brand-header img{width:145px}.topbar-actions{max-width:calc(100% - 145px)}.topbar .ghost{width:100%;text-align:right}.hero{padding-top:34px}.hero h1{font-size:clamp(35px,11vw,44px)}.primary,.ghost,.card-actions button{min-height:44px}.ruma-loading{align-items:flex-start}}
@media(max-width:390px){.topbar{align-items:center;flex-wrap:wrap}.brand-header{display:flex;align-items:center;flex-basis:auto;min-width:0}.brand-header picture{width:auto}.brand-header img{width:42px;height:auto}.brand-mobile-name{display:inline}.topbar-actions{max-width:none;flex:1}.topbar-actions .language-control{min-width:62px}.topbar .ghost{display:none}}
@media(max-width:340px){.topbar-actions{width:100%;flex-basis:100%;justify-content:space-between}.topbar{align-items:center}.hero{padding-top:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.form-step.active,.ruma-loading img,.trip-card{animation:none;transition:none}.trip-card:hover{transform:none}}
@media(min-width:900px){.brand-header{flex:0 0 230px}.brand-header picture{flex:0 0 230px}.brand-header img{width:230px}}
@media(min-width:561px) and (max-width:899px){.brand-header{flex:0 0 180px}.brand-header picture{flex:0 0 180px}.brand-header img{width:180px}}
a.brand-header .brand-mobile-name{display:none!important}
@media(max-width:390px){a.brand-header .brand-mobile-name{display:inline!important}}
.ruma-mission{width:min(1040px,calc(100% - 32px));margin:0 auto 70px;padding:30px;border:1px solid rgba(43,26,88,.12);border-radius:26px;background:linear-gradient(135deg,#fff 0%,#faf7ff 58%,#eefafa 100%);box-shadow:0 16px 45px rgba(43,26,88,.08)}.mission-intro{display:grid;grid-template-columns:110px 1fr;gap:24px;align-items:center}.mission-intro>img{width:104px;height:auto;filter:drop-shadow(0 10px 18px rgba(43,26,88,.17))}.mission-intro h2{max-width:720px;margin:6px 0 10px;color:var(--ruma-purple);font-size:clamp(25px,3vw,38px);line-height:1.08}.mission-intro p{max-width:790px;margin:0;color:var(--ruma-muted);font-size:15px;line-height:1.7}.mission-parts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:25px}.mission-parts article{display:flex;gap:12px;padding:15px;border:1px solid var(--ruma-border);border-radius:16px;background:rgba(255,255,255,.84)}.mission-parts article>span{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:12px;background:var(--ruma-purple-light);color:var(--ruma-purple);font-size:19px;font-weight:900}.mission-parts article:nth-child(3)>span{background:#fff0ed;color:var(--ruma-coral)}.mission-parts article:nth-child(4)>span{background:#e7f7f7;color:#117c7c;font-size:13px}.mission-parts strong{color:var(--ruma-purple);font-size:13px}.mission-parts p{margin:5px 0 0;color:var(--ruma-muted);font-size:11px;line-height:1.45}.mission-signature{margin:23px 0 0;text-align:center;color:var(--ruma-purple);font-size:clamp(18px,2.4vw,27px)}.mission-signature span{color:var(--ruma-coral);font-weight:900}
@media(max-width:820px){.mission-parts{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ruma-mission{margin-bottom:50px;padding:22px 17px}.mission-intro{grid-template-columns:70px 1fr;gap:14px}.mission-intro>img{width:68px}.mission-intro h2{font-size:24px}.mission-intro p{grid-column:1/-1;font-size:14px}.mission-parts{grid-template-columns:1fr}.mission-signature{text-align:left}}

/* Origem simplificada: primeiro o contexto, depois a localização. */
.origin-mode{margin:0 0 18px;padding:0;border:0}.origin-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.origin-mode-grid label{position:relative;display:grid;grid-template-columns:46px 1fr;gap:2px 11px;align-items:center;min-height:84px;margin:0;padding:14px;border:1.5px solid var(--ruma-border);border-radius:16px;background:#fff;cursor:pointer;transition:.18s ease}.origin-mode-grid input{position:absolute;width:1px;height:1px;opacity:0}.origin-mode-grid label>span{grid-row:1/3;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--ruma-purple-light);font-size:23px}.origin-mode-grid strong{align-self:end;color:var(--ruma-purple);font-size:14px}.origin-mode-grid small{align-self:start;color:var(--ruma-muted);font-size:10px;line-height:1.35}.origin-mode-grid label:has(input:checked){border-color:var(--ruma-purple);background:linear-gradient(135deg,#fff,#f4f0ff);box-shadow:0 0 0 3px rgba(43,26,88,.1)}.origin-mode-grid label:has(input:focus-visible){outline:3px solid var(--ruma-teal);outline-offset:3px}.origin-panel{margin:0 0 22px;padding:16px;border-radius:17px;background:linear-gradient(135deg,#f5f1ff,#fff 72%);border:1px solid rgba(43,26,88,.1)}.origin-panel label{position:relative;margin:0}.origin-panel input{font-weight:750}.origin-location-fields{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(220px,1.3fr);gap:12px}.origin-suggestions{position:absolute;z-index:30;top:calc(100% - 2px);left:0;right:0;max-height:230px;overflow:auto;padding:6px;border:1px solid var(--ruma-border);border-radius:12px;background:#fff;box-shadow:0 14px 30px rgba(43,26,88,.16)}.origin-suggestions button{display:block;width:100%;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:var(--ruma-text);font:inherit;text-align:left;cursor:pointer}.origin-suggestions button:hover,.origin-suggestions button:focus-visible{background:var(--ruma-purple-light);color:var(--ruma-purple);outline:2px solid var(--ruma-purple);outline-offset:-2px}.destination-scope{padding-top:18px;border-top:1px dashed rgba(43,26,88,.2)}

/* Quadro institucional inspirado no novo símbolo: localização, caminho e limite. */
.results .ruma-mission{position:relative;width:100%;margin:72px 0 0;padding:clamp(24px,4vw,46px);overflow:hidden;border:1px solid rgba(64,26,123,.14);border-radius:30px;background:radial-gradient(circle at 8% 18%,rgba(55,183,177,.13),transparent 25%),radial-gradient(circle at 92% 5%,rgba(255,111,91,.14),transparent 24%),linear-gradient(145deg,#fff 0%,#fbf9ff 64%,#f4fffd 100%);box-shadow:0 22px 55px rgba(43,26,88,.11)}.results .ruma-mission:after{content:"";position:absolute;right:-70px;bottom:-90px;width:230px;height:230px;border:34px solid rgba(55,183,177,.08);border-radius:50%}.mission-brand{position:relative;z-index:1;display:grid;grid-template-columns:170px 1fr;gap:clamp(22px,4vw,48px);align-items:center}.mission-mark{position:relative;display:grid;place-items:center;min-height:180px}.mission-mark:before{content:"";position:absolute;width:160px;height:160px;border-radius:48% 52% 60% 40%;background:linear-gradient(145deg,#f1ebff,#eafffc);transform:rotate(-8deg)}.mission-mark:after{content:"";position:absolute;width:10px;height:10px;right:5px;top:20px;border-radius:50%;background:var(--ruma-coral);box-shadow:18px 12px 0 -2px rgba(255,111,91,.45)}.mission-mark img{position:relative;z-index:1;width:122px;height:auto;filter:drop-shadow(0 12px 16px rgba(43,26,88,.14))}.mission-copy h2{max-width:760px;margin:7px 0 12px;color:var(--ruma-purple);font-size:clamp(28px,4vw,46px);line-height:1.04;letter-spacing:-1.6px}.mission-copy p{max-width:790px;margin:0;color:var(--ruma-muted);font-size:15px;line-height:1.72}.mission-route{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:8px;margin:30px 6% 18px}.mission-route span{width:10px;height:10px;border:3px solid var(--ruma-purple);border-radius:50%;background:#fff}.mission-route span:first-child{border-color:var(--ruma-coral)}.mission-route span:last-child{border-color:var(--ruma-teal)}.mission-route i{height:2px;background:repeating-linear-gradient(90deg,rgba(43,26,88,.34) 0 8px,transparent 8px 14px)}.results .mission-parts{position:relative;z-index:1;margin-top:0}.results .mission-parts article{flex-direction:column;gap:10px;min-height:156px;padding:18px;border-color:rgba(43,26,88,.1);background:rgba(255,255,255,.9);box-shadow:0 7px 20px rgba(43,26,88,.05)}.results .mission-parts article>span{width:42px;height:42px;border:2px solid currentColor;border-radius:50% 50% 50% 18%;background:#fff;font-size:18px}.results .mission-parts article:nth-child(2)>span{color:var(--ruma-purple)}.results .mission-parts article:nth-child(3)>span{color:var(--ruma-coral)}.results .mission-parts article:nth-child(4)>span{color:var(--ruma-teal);font-size:18px}.results .mission-parts strong{font-size:14px}.results .mission-parts p{font-size:11px;line-height:1.55}.results .mission-signature{position:relative;z-index:1;margin:30px 0 0;padding-top:24px;border-top:1px solid rgba(43,26,88,.12);font-size:clamp(21px,3vw,32px)}.results .mission-signature strong{font-weight:650}.results .mission-signature span{display:inline-block;margin-left:.2em}
@media(max-width:700px){.origin-mode-grid,.origin-location-fields{grid-template-columns:1fr}.mission-brand{grid-template-columns:96px 1fr;gap:15px}.mission-mark{min-height:120px}.mission-mark:before{width:110px;height:110px}.mission-mark img{width:82px}.mission-copy h2{font-size:28px}.mission-copy p{grid-column:1/-1}.results .mission-parts{grid-template-columns:1fr 1fr}.results .mission-parts article{min-height:145px}.mission-route{margin-inline:0}}
@media(max-width:500px){.results .ruma-mission{margin-top:48px;padding:24px 18px;border-radius:22px}.mission-brand{grid-template-columns:1fr}.mission-mark{justify-content:start;min-height:100px}.mission-mark:before{left:0}.mission-mark:after{left:90px;right:auto}.mission-copy h2{font-size:27px}.mission-copy p{font-size:14px}.results .mission-parts{grid-template-columns:1fr}.results .mission-parts article{display:grid;grid-template-columns:44px 1fr;min-height:0}.results .mission-parts article>span{grid-row:1/3}.results .mission-signature{text-align:left}.results .mission-signature span{display:block;margin:4px 0 0}.mission-route{display:none}}

/* Ajustes localizados: origem mundial, voo estimado, roteiro e estados da marca. */
.origin-location-fields.single{grid-template-columns:1fr}.origin-suggestion-status{display:block;padding:11px 12px;color:var(--ruma-muted);font-size:12px}.destination-photo-placeholder{object-fit:contain!important;padding:clamp(24px,8%,70px);background:linear-gradient(135deg,#f5f1ff,#eafffc)}
.flight-arrival-breakdown{display:grid;gap:8px;margin:14px 0}.flight-arrival-breakdown>div{display:flex;justify-content:space-between;gap:16px;padding:11px 12px;border:1px solid var(--ruma-border);border-radius:11px;background:#fff}.flight-arrival-breakdown span,.flight-arrival-breakdown small{display:block}.flight-arrival-breakdown small{margin-top:3px;color:var(--ruma-muted);font-size:10px}.flight-arrival-breakdown .total{border-color:var(--ruma-purple);background:var(--ruma-purple-light);color:var(--ruma-purple)}.flight-suggestion{padding:10px 12px;border-left:4px solid var(--ruma-coral);background:#fff5f2}
.itinerary{margin-top:25px;padding:16px;border:2px solid var(--ink);border-radius:13px;background:#fff}.itinerary-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.itinerary-heading h3{margin:3px 0}.itinerary-days{padding:0}.itinerary-days article>div>small,.itinerary-days article>div>b,.itinerary-days article>div>em{display:block;margin-top:5px}.itinerary-days article>div>small{color:var(--ruma-purple);font-weight:750}.itinerary-days article>div>b{font-size:11px}.itinerary-days article>div>em{color:var(--ruma-muted);font-size:10px}.itinerary-days ul{margin:7px 0;padding-left:18px;font-size:11px}.itinerary-editor{display:grid;gap:13px;margin-top:15px}.itinerary-editor fieldset{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px;border:1px solid var(--ruma-border);border-radius:13px}.itinerary-editor legend{padding:0 6px;color:var(--ruma-purple);font-weight:850}.itinerary-editor label{margin:0}.itinerary-editor label:has(textarea),.itinerary-extra-activities,.itinerary-day-actions{grid-column:1/-1}.itinerary-extra-activities{display:grid;gap:7px}.itinerary-extra-activities label>span{display:flex;gap:7px}.itinerary-extra-activities button,.itinerary-day-actions button{padding:8px 10px;border:1px solid var(--ruma-purple);border-radius:8px;background:#fff;color:var(--ruma-purple);cursor:pointer}.itinerary-day-actions{display:flex;flex-wrap:wrap;gap:7px}.itinerary-day-actions button:disabled{opacity:.42;cursor:not-allowed}.itinerary-saved-status{margin:10px 0 0;color:var(--ruma-teal);font-size:12px;font-weight:800}
.ruma-loading{position:relative;overflow:hidden}.ruma-loading:after{content:"";position:absolute;left:12%;right:12%;bottom:8px;height:2px;background:linear-gradient(90deg,transparent,var(--ruma-teal),var(--ruma-coral),transparent);background-size:180% 100%;animation:rumaRoute 1.4s linear infinite}.ruma-loading img{animation:rumaTravel 1.25s ease-in-out infinite}.ruma-loading strong{color:var(--ruma-purple)}@keyframes rumaTravel{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.04)}}@keyframes rumaRoute{to{background-position:-180% 0}}
@media(max-width:560px){.itinerary-heading{align-items:flex-start}.itinerary-editor fieldset{grid-template-columns:1fr}.itinerary-editor label:has(textarea),.itinerary-extra-activities,.itinerary-day-actions{grid-column:1}.itinerary-day-actions button{flex:1 1 140px}}
@media(prefers-reduced-motion:reduce){.ruma-loading:after,.ruma-loading img{animation:none}}

/* Direção visual comercial: clara, leve e com cor concentrada em ações. */
:root{--ruma-primary:#746a8f;--ruma-primary-dark:#5f5678;--ruma-primary-soft:#f2f0f5;--ruma-coral:#d98778;--ruma-coral-dark:#c87364;--ruma-teal:#609692;--ruma-teal-soft:#edf6f4;--ruma-background:#fbfaf7;--ruma-surface:#fff;--ruma-surface-alt:#f7f5f2;--ruma-text:#302e35;--ruma-muted:#726e78;--ruma-border:#e5e1e7;--ruma-danger:#b6424c;--ruma-success:#447e78;--ruma-purple:var(--ruma-primary);--ruma-purple-dark:var(--ruma-primary-dark);--ruma-purple-light:var(--ruma-primary-soft);--transition-fast:140ms ease;--transition-base:220ms ease;--transition-slow:320ms ease;--ink:var(--ruma-text);--muted:var(--ruma-muted);--cream:var(--ruma-background);--paper:var(--ruma-surface);--green:var(--ruma-primary);--green2:var(--ruma-primary-dark);--mint:var(--ruma-primary-soft);--coral:var(--ruma-coral);--line:var(--ruma-border);--shadow:0 10px 30px rgba(48,46,53,.07)}
body,.results{background:var(--ruma-background);color:var(--ruma-text)}.results{border-top:1px solid var(--ruma-border)}
.planner,.trip-card,dialog,.transport-comparator,.date-optimizer,.partner-preview,.mobility-builder,.itinerary,.city-guide{border:1px solid var(--ruma-border);background:var(--ruma-surface);box-shadow:0 10px 30px rgba(48,46,53,.07)}
.primary,.details-btn{background:var(--ruma-primary);border-color:var(--ruma-primary);box-shadow:none}.primary:hover,.details-btn:hover{background:var(--ruma-primary-dark)}
.choice:has(input:checked),.persona:has(input:checked),.chips input:checked+span,.mobility-grid input:checked+span,.transport-comparator button.active,.date-optimizer-grid button.best,.mobility-toggle-grid button.active,.stay-grid input:checked+span,.destination-scope-grid label:has(input:checked),.origin-mode-grid label:has(input:checked){background:var(--ruma-primary-soft);border-color:#b9b2c8;color:var(--ruma-text);box-shadow:inset 3px 0 0 var(--ruma-primary)}
.compat-badge,.draft-badge{background:var(--ruma-teal-soft);border-color:#bdd9d5;color:var(--ruma-success)}
.trip-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(48,46,53,.09)}
input,select,textarea,.money-input,.date-range-trigger{background:#fff;border-color:var(--ruma-border);box-shadow:none}input:focus,select:focus,textarea:focus,.money-input:focus-within{border-color:var(--ruma-primary);box-shadow:0 0 0 3px rgba(116,106,143,.12)}
.modal-content{padding:clamp(24px,4vw,38px)}.card-body{padding:20px}.meta,.partner-note,.date-optimizer-note,.field-hint{font-size:12px;line-height:1.55}
.live-offers,.commerce-boundary{margin:22px 0;padding:20px;border:1px solid var(--ruma-border);border-radius:16px;background:var(--ruma-surface)}.live-offers-head{display:flex;align-items:start;justify-content:space-between;gap:16px}.live-offers h3,.commerce-boundary h3{margin:5px 0}.live-offers>p,.commerce-boundary p{color:var(--ruma-muted);line-height:1.6}.offer-state{margin-top:12px;padding:15px;border-radius:12px;background:var(--ruma-surface-alt)}.offer-state>strong,.offer-state>span{display:block}.offer-state>span{margin-top:5px;color:var(--ruma-muted)}.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.offer-grid article{padding:14px;border:1px solid var(--ruma-border);border-radius:12px;background:#fff}.offer-grid h4{margin:8px 0;font-size:18px}.offer-grid p,.offer-grid small{font-size:12px;line-height:1.5}.affiliate-label{display:block;margin-top:7px;color:var(--ruma-muted)}.offer-unavailable{display:block;margin-top:10px;color:var(--ruma-muted);font-size:12px}
.site-footer{position:relative;overflow:hidden;padding:64px max(22px,calc((100% - 1180px)/2)) 24px;background:var(--ruma-surface-alt);color:var(--ruma-text);text-align:left;border-top:1px solid var(--ruma-border)}.footer-watermark{position:absolute;right:-45px;bottom:-70px;width:260px;opacity:.035}.footer-route{display:flex;align-items:center;gap:8px;margin-bottom:34px}.footer-route span{width:9px;height:9px;border:2px solid var(--ruma-teal);border-radius:50%}.footer-route i{width:90px;height:1px;background:repeating-linear-gradient(90deg,var(--ruma-border) 0 7px,transparent 7px 12px)}.footer-grid{position:relative;display:grid;grid-template-columns:2fr repeat(4,1fr);gap:32px}.footer-brand>a{display:flex;align-items:center;gap:10px;color:var(--ruma-primary-dark);text-decoration:none}.footer-brand>a img{width:42px;height:auto}.footer-brand>a strong{font-size:25px}.footer-brand h2{margin:18px 0 12px;font-size:21px;line-height:1.25}.footer-brand h2 span{color:var(--ruma-coral-dark)}.footer-brand p{max-width:330px;color:var(--ruma-muted);font-size:13px;line-height:1.65}.site-footer nav{display:flex;flex-direction:column;gap:10px}.site-footer nav>strong{margin-bottom:5px;color:var(--ruma-primary-dark)}.site-footer nav a,.site-footer nav button{padding:0;background:none;color:var(--ruma-muted);font-size:12px;text-align:left;text-decoration:none}.site-footer nav a:hover,.site-footer nav button:hover{color:var(--ruma-primary-dark)}.footer-bottom{position:relative;display:flex;justify-content:space-between;gap:18px;margin-top:44px;padding-top:20px;border-top:1px solid var(--ruma-border);color:var(--ruma-muted);font-size:12px}
.legal-page{background:var(--ruma-background)}.legal-page main{width:min(760px,calc(100% - 32px));margin:0 auto;padding:64px 0}.legal-page main>a{color:var(--ruma-primary-dark)}.legal-page h1{margin-top:42px;color:var(--ruma-primary-dark);font-size:clamp(32px,6vw,52px)}.legal-page h2{margin-top:34px;color:var(--ruma-primary-dark)}.legal-page p{color:var(--ruma-muted);font-size:16px;line-height:1.75}
@media(max-width:900px){.footer-grid{grid-template-columns:2fr 1fr 1fr}.footer-brand{grid-row:span 2}.offer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1;grid-row:auto}.footer-bottom,.live-offers-head{align-items:flex-start;flex-direction:column}.offer-grid{grid-template-columns:1fr}.site-footer{padding-top:44px}.card-body{padding:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Paleta e acabamento centralizados da identidade Ruma. */
:root{--ruma-purple:#3d2a68;--ruma-purple-dark:#302052;--ruma-purple-light:#f1eef7;--ruma-coral:#e76e5b;--ruma-coral-dark:#cf5a49;--ruma-teal:#3a9c97;--ruma-background:#faf8f4;--ruma-surface:#ffffff;--ruma-text:#302a3d;--ruma-muted:#746e7d;--ruma-border:#e3dee8;--ruma-danger:#b4232f;--transition-fast:140ms ease;--transition-base:220ms ease;--ink:var(--ruma-text);--muted:var(--ruma-muted);--cream:var(--ruma-background);--paper:var(--ruma-surface);--green:var(--ruma-purple);--green2:var(--ruma-purple-dark);--mint:var(--ruma-purple-light);--coral:var(--ruma-coral);--line:var(--ruma-border);--shadow:0 14px 36px rgba(48,32,82,.10)}
body{background:var(--ruma-background)}
.topbar{background:rgba(250,248,244,.96);border-bottom-color:var(--ruma-border)}
.hero{background:radial-gradient(circle at 86% 15%,rgba(231,110,91,.12),transparent 26%),radial-gradient(circle at 3% 92%,rgba(58,156,151,.10),transparent 30%),var(--ruma-background)}
.planner,.trip-card,dialog,.city-guide,.partner-preview,.mobility-comparator,.transport-comparator,.date-optimizer,.mobility-builder,.itinerary{border-color:var(--ruma-border);box-shadow:0 12px 34px rgba(48,32,82,.09)}
.draft-badge,.compat-badge,.choice:has(input:checked),.persona:has(input:checked),.chips input:checked+span,.mobility-grid input:checked+span,.mobility-comparator button.active,.transport-comparator button.active,.stay-grid input:checked+span,.date-optimizer-grid button.best,.mobility-toggle-grid button.active,.planner-card-head .section-icon{border-color:var(--ruma-purple);background:var(--ruma-purple);color:#fff;box-shadow:none}
.guided-saved,.mobility-mini-card>span,.mobility-empty>span{background:#e7f4f3;color:var(--ruma-purple)}
.package-total{border-color:var(--ruma-border);background:var(--ruma-purple-light)}
.city-guide,.date-optimizer,.guided-selection{background:var(--ruma-surface)}
.partner-actions button:hover{background:var(--ruma-purple-light)}
.event-preview .eyebrow,.photo-credits-link{color:#d7efed}
.transport-comparator button:disabled{cursor:not-allowed;opacity:.62;background:#f5f3f6}
.transport-comparator button b{line-height:1.35}
.match-reasons ul{margin:0;padding-left:18px}.match-reasons li+li{margin-top:6px}
.flight-period-guidance{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:13px;border-radius:12px;background:var(--ruma-purple-light)}.flight-period-guidance p{margin:0;color:var(--ruma-text)}
.planner-utilities{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.danger-action{color:var(--ruma-danger);border-color:var(--ruma-danger)}
button,input,select,textarea,summary,.trip-card,.choice,.persona,.chips span,.origin-mode-grid label,.destination-scope-grid label,.transport-comparator button,.date-optimizer-grid button,.mobility-toggle-grid button{transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-base),opacity var(--transition-fast),transform var(--transition-base)}
@media(max-width:620px){.planner-head{align-items:flex-start}.planner-utilities{max-width:58%}.planner-utilities .draft-badge{display:none}.planner-utilities button{min-height:40px}.flight-period-guidance{align-items:stretch;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
