/* ROTEZI: refinamento aprovado da interface existente. */
/* Approved panorama; only the photographic layers respond to appearance. */
.rotezi-main {
  --refined-radius:14px;
  --hero-fade-rgb:244,247,251;
  --hero-veil:.08;
  --hero-title:#132c45;
  --hero-copy:#334c65;
  --hero-text-shadow:0 1px 8px rgba(255,255,255,.55);
}
html[data-theme="dark"] .rotezi-main {
  --hero-fade-rgb:6,18,37;
  --hero-veil:0;
  --hero-title:#f4f8ff;
  --hero-copy:#dce9f7;
  --hero-text-shadow:0 2px 12px rgba(0,0,0,.65);
}
@media(prefers-color-scheme:dark) {
  html:not([data-theme="light"]) .rotezi-main {
    --hero-fade-rgb:6,18,37;
    --hero-veil:0;
    --hero-title:#f4f8ff;
    --hero-copy:#dce9f7;
    --hero-text-shadow:0 2px 12px rgba(0,0,0,.65);
  }
}
.rotezi-main .hero {
  --hero-art:linear-gradient(0deg,rgb(var(--hero-fade-rgb)) 0%,rgba(var(--hero-fade-rgb),.96) 7%,rgba(var(--hero-fade-rgb),.68) 18%,rgba(var(--hero-fade-rgb),.14) 31%,rgba(var(--hero-fade-rgb),0) 46%),linear-gradient(rgba(255,255,255,var(--hero-veil)),rgba(255,255,255,var(--hero-veil))),url('./assets/refinements/hero-morro-20260915.webp');
  background-image:var(--hero-art);
  background-color:rgb(var(--hero-fade-rgb));
  height:clamp(320px,41.66vw,620px);
  isolation:isolate;
}
.rotezi-main .hero>h1 {color:var(--hero-title)!important;text-shadow:var(--hero-text-shadow);}
.rotezi-main .hero>.hero-copy {color:var(--hero-copy)!important;text-shadow:var(--hero-text-shadow);}
/* The approved cyan connections are already in the photograph. */
.rotezi-main .hero-connections {display:none!important;}
.rotezi-main .hero-shell .topbar {
  width:min(1120px,calc(100% - 32px))!important; inset:16px 0 auto!important;
  min-height:64px!important; padding:8px 16px!important; border:1px solid rgba(255,255,255,.2)!important;
  border-radius:18px!important; background:rgba(8,28,49,.76)!important;
  backdrop-filter:blur(14px)!important; -webkit-backdrop-filter:blur(14px)!important;
  box-shadow:0 8px 26px rgba(3,15,30,.13)!important;
}
.rotezi-main .topbar .official-brand { width:150px!important; flex:0 0 150px; }
.rotezi-main .topbar .official-brand-art { width:100%!important;height:auto!important; }
.rotezi-main .top-actions { gap:8px; }
.rotezi-main .topbar :is(.top-link,.menu-button,.rotezi-account-button) {
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:44px!important;height:auto!important;padding:8px 12px!important;
  border-radius:11px!important;color:#fff!important;font-size:14px!important;
}
.rotezi-main .topbar .rotezi-account-button {
  border:1px solid var(--adaptive-border)!important;
  background:var(--adaptive-control)!important;
  color:var(--adaptive-control-text)!important;
}
.rotezi-main .topbar .top-link { background:transparent!important; }
.rotezi-main .topbar .menu-button { background:#086bcc!important; }
.rotezi-main #journey-control { padding:20px!important;border-radius:18px; }
.rotezi-main #journey-control .journey-mode-grid-v08 { gap:10px; }
.rotezi-main #journey-control .journey-mode-option-v08 { min-height:80px!important;padding:12px 14px!important;border-radius:14px;gap:5px; }
.rotezi-main #journey-control .journey-mode-option-v08 strong { font-size:20px!important;line-height:1.25!important;white-space:nowrap; }
.rotezi-main #journey-control .journey-mode-option-v08 small { font-size:14px!important;line-height:1.35!important; }
.rotezi-main #journey-control .mode-state-note-v08 { margin:10px 0;font-size:13px;line-height:1.45; }
.rotezi-main #environment-glance-dock { align-self:start;gap:8px; }
.rotezi-main #environment-glance-dock button { min-height:52px;padding:8px;border-radius:13px;grid-template-columns:28px minmax(0,1fr);column-gap:8px; }
.rotezi-main #environment-glance-dock button>span {width:28px;height:28px;border-radius:9px;font-size:18px;}
.rotezi-main #environment-glance-dock small {font-size:10px;letter-spacing:.015em;line-height:1.3;white-space:nowrap;}
.rotezi-main #environment-glance-dock strong {font-size:13px;line-height:1.35;}
.rotezi-main .journey-feature-v08 {min-height:44px!important;padding:8px 13px!important;border-radius:12px;font-size:14px;gap:8px;}
.rotezi-main .journey-feature-visual {width:34px!important;height:34px!important;}

/* Shared proportions; the content, category artwork and journeys stay intact. */
.rotezi-main :is(.primary-button,.secondary-button,.ghost-button,.inline-cta,.text-button,.journey-action-button) {
  min-height:44px!important;height:auto;padding:10px 16px!important;border-radius:12px!important;
  font-size:14px!important;line-height:1.4!important;letter-spacing:normal;
}
.rotezi-main :is(.v08-actions,.map-actions,.origin-actions,.sheet-actions,.emergency-actions,.partner-menu-actions) {gap:8px;}
.rotezi-main .journey-context-bar-v08 {padding:20px 28px;}
.rotezi-main .journey-context-copy-v08 {min-width:0;}
.rotezi-main .journey-context-copy-v08 h2 {font-size:clamp(22px,2.5vw,29px);line-height:1.25;margin:6px 0;}
.rotezi-main .journey-context-copy-v08 p {font-size:14px;line-height:1.5;margin:0;}
@media(min-width:851px) {
  .rotezi-main .journey-context-bar-v08 {width:min(880px,calc(100% - 32px));box-sizing:border-box;margin-inline:auto;padding:16px 24px;justify-content:center;text-align:center;}
  .rotezi-main .journey-context-copy-v08 {width:100%;}
  .rotezi-main .journey-feature-row-v08 {width:max-content;max-width:100%;box-sizing:border-box;margin-inline:auto;}
}
.rotezi-main .journey-stage-v08>:is(.card,section) {padding:clamp(16px,2vw,22px);}
.rotezi-main :is(.section-heading,.compact-heading) {margin-bottom:16px;}
.rotezi-main :is(.section-heading,.compact-heading,.sports-hub-head) h2 {font-size:clamp(23px,2.5vw,30px);line-height:1.2;}
.rotezi-main :is(.section-heading,.compact-heading,.sports-hub-head) p {font-size:14px;line-height:1.5;}
.rotezi-main .bag-option {min-height:82px;padding:14px 12px;}
.rotezi-main .bag-option strong {font-size:15px;line-height:1.3;}
.rotezi-main .bag-option span {font-size:12px;line-height:1.4;}
.rotezi-main :is(.recommendation,.route-public-data-notice,.directory-policy-note,.events-empty-v08,.v083-route-tide,.tide-route-context) {
  min-height:0;height:auto;align-self:start;padding:12px 14px;border-radius:12px;line-height:1.5;
}
.rotezi-main :is(.recommendation,.route-public-data-notice,.directory-policy-note,.events-empty-v08,.v083-route-tide,.tide-route-context) p {margin:4px 0 0!important;font-size:13px!important;line-height:1.5!important;}
.rotezi-main :is(.category-story-label,.directory-card .directory-type) {font-size:12px!important;line-height:1.4;}
.rotezi-main #directory-grid .partner-ad .rotezi-ad-label {background:#0758b8!important;color:#fff!important;}
.rotezi-main .category-story {min-width:92px;max-width:120px;}
.rotezi-main .price-filter-control {min-height:0;padding:10px 12px;margin:10px 0 14px;}
.rotezi-main .price-filter-control label {display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:14px;}
.rotezi-main .price-filter-control select {min-height:44px;font-size:14px;}
.rotezi-main .price-filter-count {font-size:12px;white-space:nowrap;}

/* Same hierarchy as transports: title, type/duration, reference price, unit. */
.rotezi-main :is(.tour-card,.transport-card) {padding:16px;min-height:0;height:auto!important;align-self:start;}
.rotezi-main :is(#tour-grid,.transport-grid) {align-items:start!important;}
.rotezi-main :is(.tour-card,.transport-card) h3 {margin:10px 0 8px;font-size:22px!important;font-weight:750!important;line-height:1.25!important;color:var(--ux-text)!important;letter-spacing:-.02em;}
.rotezi-main :is(.tour-meta-type,.transport-meta-type,.tour-type,.transport-type) {color:var(--ux-reference)!important;font-size:13px!important;font-weight:750!important;line-height:1.45!important;}
.rotezi-main :is(.tour-meta-duration,.transport-meta-duration) {color:var(--ux-text)!important;font-size:13px!important;font-weight:600!important;line-height:1.45!important;}
.rotezi-main :is(.tour-price,.transport-price,.directory-price) {gap:4px;padding:10px 12px;margin:10px 0;border-radius:12px;min-height:0;align-content:start;background:var(--ux-reference-bg)!important;border-color:var(--ux-reference-border)!important;}
.rotezi-main :is(.tour-price-label,.transport-price-label,.directory-price-label,.tour-price-prefix) {color:var(--ux-muted)!important;font-size:12px!important;font-weight:650!important;line-height:1.4;text-transform:none!important;letter-spacing:0!important;}
.rotezi-main :is(.tour-price-amount,.transport-price strong,.directory-price strong) {color:var(--ux-reference)!important;font-size:24px!important;font-weight:800!important;line-height:1.2!important;letter-spacing:-.025em;}
.rotezi-main :is(.tour-price-unit,.transport-price small,.directory-price small) {color:var(--ux-muted)!important;font-size:13px!important;font-weight:500!important;line-height:1.45!important;}
.rotezi-main :is(.tour-card,.transport-card) :is(.tour-description,.transport-note) {font-size:14px!important;line-height:1.5!important;}
.rotezi-main .transport-card .wide-button {width:100%;margin-top:10px;}
@media(min-width:1100px) {
  .rotezi-main #transportes .transport-grid {width:100%;max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
  .rotezi-main #transportes .transport-card {padding:16px;min-width:0;}
  .rotezi-main #transportes .transport-media {height:160px;aspect-ratio:auto;margin-bottom:12px;border-radius:12px;}
}

/* Wider content with a safe outer gutter; the hero retains its own composition. */
.rotezi-main .app-shell>:is(.journey-control-v08,.journey-workspace-v08,.environment-hub,footer) {
  width:min(1360px,calc(100% - 48px));margin-inline:auto;min-width:0;box-sizing:border-box;
}
.rotezi-main #tour-grid .tour-card .card-actions {
  display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;
}
.rotezi-main #tour-grid .tour-card .card-actions button {
  flex:0 1 auto;width:auto;min-width:0;padding:10px 8px!important;white-space:nowrap;font-size:13px!important;
}
.rotezi-main #tour-grid .tour-card [data-action="tour-details"] {text-align:left;}
.rotezi-main #tour-grid .tour-card [data-action="tour-concierge"] {margin-left:auto;}

/* Theme pairs also cover automatic dark mode inside the original tour sheet. */
.rotezi-main .sheet .tour-commercial-surface .route-sheet-hero {
  background:var(--ux-reference-bg)!important;border-color:var(--ux-reference-border)!important;
}
.rotezi-main .sheet .tour-commercial-surface .route-sheet-hero :is(strong,span) {color:var(--ux-reference)!important;}
.rotezi-main .sheet .tour-commercial-surface :is(.v084-detail-block h3,.v084-fact-card strong) {color:var(--ux-text)!important;}
.rotezi-main .sheet .tour-commercial-surface .v084-detail-block {border-color:var(--ux-border);}
.rotezi-main .sheet .tour-commercial-surface :is(.v084-route-list,.v084-route-list li,.v084-fact-card span) {color:var(--ux-muted)!important;}
.rotezi-main .sheet .tour-commercial-surface .v084-fact-card {background:var(--ux-soft)!important;border-color:var(--ux-border)!important;}
.rotezi-main .sheet .tour-commercial-surface .v084-fact-card.is-in {background:var(--ux-reference-bg)!important;border-color:var(--ux-reference-border)!important;}
.rotezi-main .sheet .tour-commercial-surface .v084-fact-card.is-in :is(strong,span) {color:var(--ux-reference)!important;}
.rotezi-main .sheet .tour-commercial-surface :is(.v084-extra-meta span,.tag-row span,.alert-box) {background:var(--ux-soft)!important;border-color:var(--ux-border)!important;color:var(--ux-text)!important;}
.rotezi-main .sheet .tour-commercial-surface .alert-box :is(strong,p) {color:var(--ux-text)!important;}

/* The sponsored card uses its existing first photo and original partner action. */
.rotezi-main #directory-grid .partner-ad-photos {grid-template-columns:minmax(0,1fr);}
.rotezi-main #directory-grid .partner-ad-photos img:not(:first-child) {display:none;}
.rotezi-main #directory-grid .partner-ad-pair {display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;grid-column:1/-1;}
.rotezi-main #directory-grid .partner-ad-pair[hidden] {display:none!important;}
.rotezi-main #sports-classes-grid .directory-card-actions :is(a,button) {background:var(--adaptive-control)!important;border-color:var(--adaptive-border)!important;color:var(--adaptive-control-text)!important;}
@media(min-width:851px) {
  .rotezi-main #directory-grid .partner-ad-pair:has(>[data-sponsored-slot="directory-secondary"]:not([hidden])) {grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;}
  .rotezi-main #directory-grid .partner-ad .partner-ad-body {grid-template-columns:200px minmax(0,1fr);gap:10px 20px;align-items:start;}
  .rotezi-main #directory-grid .partner-ad-pair:has(>[data-sponsored-slot="directory-secondary"]:not([hidden])) .partner-ad-body {grid-template-columns:minmax(110px,28%) minmax(0,1fr);gap:10px 16px;}
  .rotezi-main #directory-grid .partner-ad .partner-ad-presentation {display:contents;}
  .rotezi-main #directory-grid .partner-ad .partner-ad-photos {grid-column:1;grid-row:1/3;}
  .rotezi-main #directory-grid .partner-ad .partner-ad-copy {grid-column:2;grid-row:1;}
  .rotezi-main #directory-grid .partner-ad .partner-ad-presentation>button {grid-column:2;grid-row:2;justify-self:start;align-self:start;}
}

/* Identity stays beside the logo and precedes the authorized gallery. */
.rotezi-main #directory-grid .partner-ad-heading {justify-content:space-between;}
.rotezi-main #directory-grid .partner-ad-heading .directory-verified-badge {margin-left:auto;}
.rotezi-main #directory-grid .partner-ad-identity {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;}
.rotezi-main #directory-grid .partner-ad-identity>div {min-width:0;flex:1;}
.rotezi-main #directory-grid .partner-ad-identity .partner-logo {float:none;width:48px;height:48px;flex:0 0 48px;margin:0;}
.directory-partner-heading {grid-column:1/-1;min-width:0;}
.directory-partner-heading .directory-listing-head {display:flex;justify-content:space-between;align-items:center;gap:8px;}
.directory-partner-heading .partner-identity {justify-content:space-between;margin:8px 0 0;}
.directory-partner-heading .partner-identity h3 {flex:1;min-width:0;}
@media(min-width:851px) {
  .directory-partner-list>.directory-card.has-media {grid-template-rows:repeat(4,min-content) minmax(0,1fr);}
  .directory-partner-list .has-media>.directory-partner-heading {grid-row:1;}
  .directory-partner-list .has-media>.partner-gallery {grid-row:2/6;}
  .directory-partner-list .has-media>.directory-copy {grid-row:2;}
  .directory-partner-list .has-media>.directory-route-notice {grid-row:3;}
  .directory-partner-list .has-media>.directory-card-actions {grid-row:4;}
}

/* Environmental summaries grow only as far as the text requires. */
.rotezi-main #condicoes.is-details-open {padding:16px;border-radius:18px;}
.rotezi-main #condicoes .environment-heading {gap:16px;margin-bottom:14px;align-items:start;}
.rotezi-main #condicoes .environment-heading h2 {font-size:clamp(19px,2vw,24px);line-height:1.3;margin:5px 0 7px;}
.rotezi-main #condicoes .environment-heading p {font-size:14px;line-height:1.5;max-width:68ch;}
.rotezi-main #condicoes .environment-tab {min-height:64px;padding:10px 12px;border-radius:13px;box-shadow:none;gap:9px;}
.rotezi-main #condicoes .environment-tab small {font-size:12px;letter-spacing:.03em;}
.rotezi-main #condicoes .environment-tab strong {font-size:14px;}
.rotezi-main #condicoes .environment-tab-icon {width:34px;height:34px;border-radius:10px;font-size:19px;}
.rotezi-main #condicoes .environment-close {width:44px;height:44px;flex:0 0 44px;}
.rotezi-main #condicoes .environment-data-panel {padding:14px;gap:12px;}
.rotezi-main #condicoes .environment-overview {gap:10px;}
.rotezi-main #condicoes :is(.environment-dashboard-hero,.environment-selected,.environment-insight-card,.tide-cycle-summary) {
  min-height:0!important;height:auto!important;align-self:start;align-content:start;justify-content:start;
  padding:14px 16px!important;border-radius:14px;gap:6px;
}
.rotezi-main #condicoes .environment-dashboard-hero::before,
.rotezi-main #condicoes .environment-dashboard-hero::after {content:none;}
.rotezi-main #condicoes .environment-dashboard-hero h3 {font-size:clamp(22px,2vw,26px);line-height:1.25;margin:4px 0;}
.rotezi-main #condicoes .environment-dashboard-hero p {font-size:14px;line-height:1.5;margin:0;}
.rotezi-main #condicoes .environment-metric {padding:10px 12px;border-radius:12px;gap:4px;}
.rotezi-main #condicoes .environment-metric span {font-size:12px;letter-spacing:.02em;}
.rotezi-main #condicoes .environment-metric strong {font-size:20px;}
.rotezi-main #condicoes .environment-metric small {font-size:12px;}
.rotezi-main #condicoes .environment-timeline button {min-height:84px;padding:10px;gap:4px;border-radius:12px;}
.rotezi-main #condicoes .environment-timeline button :is(small,span) {font-size:12px;}
.rotezi-main #condicoes .environment-panel {animation:none;}
.rotezi-main #condicoes .tide-cycle .environment-tide-layout {grid-template-columns:minmax(0,1fr);}
.rotezi-main #condicoes .tide-cycle .environment-overview {width:min(100%,880px);justify-self:center;}
@media(min-width:900px) {
  .rotezi-main #condicoes .tide-cycle .environment-tide-layout {grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);grid-template-rows:min-content 1fr;}
  .rotezi-main #condicoes .tide-cycle .environment-overview {grid-column:1;grid-row:1;width:100%;}
  .rotezi-main #condicoes .tide-cycle .tide-cycle-chart {grid-column:2;grid-row:1/3;}
  .rotezi-main #condicoes .tide-cycle .environment-tide-events-host {grid-column:1;grid-row:2;}
}
.rotezi-main #condicoes .tide-cycle-svg {touch-action:pan-y;cursor:crosshair;}
.rotezi-main #condicoes .tide-cycle-point text {font-size:13px;paint-order:stroke;stroke:var(--adaptive-surface);stroke-width:5px;stroke-linejoin:round;}
.tide-cycle {--cycle-selected:#6941bd;}
html[data-theme="dark"] .tide-cycle {--cycle-selected:#d3b5ff;}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .tide-cycle{--cycle-selected:#d3b5ff;}}
.tide-cycle-selection line {stroke:var(--cycle-selected);stroke-width:2;stroke-dasharray:2 3;vector-effect:non-scaling-stroke;}
.tide-cycle-selection circle {fill:var(--cycle-selected);stroke:var(--adaptive-surface);stroke-width:2;}
.tide-cycle-selection-key {color:var(--cycle-selected);}
.tide-cycle-inspector {display:grid;gap:4px;margin:4px 6px 10px;color:var(--cycle-ink);}
.tide-cycle-inspector label {font-size:12px;color:var(--cycle-muted);}
.tide-cycle-inspector output {font-size:20px;font-weight:750;color:var(--cycle-selected);font-variant-numeric:tabular-nums;}
.tide-cycle-inspector input {width:100%;min-width:0;min-height:44px;margin:0;accent-color:var(--cycle-selected);cursor:ew-resize;}
.rotezi-main #condicoes .tide-cycle-inspector p {margin:0;font-size:12px;line-height:1.4;color:var(--cycle-muted);}
.rotezi-main #condicoes #environment-sun-glance {word-break:normal;overflow-wrap:normal;}
.rotezi-main #condicoes .environment-panel.is-active .environment-overview {animation:rz-panel-arrive .42s cubic-bezier(.2,.7,.2,1) both;}
.rotezi-main #condicoes .environment-panel.is-active .environment-chart-card {animation:rz-panel-arrive .5s .06s cubic-bezier(.2,.7,.2,1) both;}
.rotezi-main #condicoes .environment-panel.is-active .environment-timeline {animation:rz-panel-arrive .5s .10s cubic-bezier(.2,.7,.2,1) both;}
.rotezi-main #condicoes #environment-panel-tide.is-active .tide-main {animation:rz-panel-arrive .45s cubic-bezier(.2,.7,.2,1) both;}
.rotezi-main #condicoes.is-details-open {animation:rz-panel-arrive .35s cubic-bezier(.2,.7,.2,1) both;}
@keyframes rz-panel-arrive {from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* A quiet footer, using the app's own identity and existing destinations. */
.rotezi-main footer.refined-footer {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;margin-top:28px!important;padding:20px 0 8px!important;font-size:13px;line-height:1.5;color:var(--ux-muted)!important;border-top:1px solid var(--ux-border)!important;}
.rotezi-main footer .refined-footer-brand {display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;}
.rotezi-main footer .official-brand-footer {width:116px;min-width:0;margin:0;}
.rotezi-main footer .official-brand-footer img {width:116px!important;height:auto;}
.rotezi-main footer .refined-footer-place {display:block;font-size:13px;line-height:1.5;}
.rotezi-main footer .refined-footer-links {display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center;}
.rotezi-main footer .refined-footer-links :is(a,button) {min-height:44px;display:inline-flex;align-items:center;padding:0;border:0;border-radius:0;background:transparent;font:inherit;font-size:13px;color:var(--ux-muted);text-decoration:none;cursor:pointer;}
.rotezi-main footer .refined-footer-links :is(a,button):hover {color:var(--ux-text);text-decoration:underline;text-underline-offset:4px;}
.rotezi-main :is(button,a):focus-visible {outline-offset:4px;}
@media(max-width:760px) {
  .rotezi-main .hero-shell .topbar {inset:10px 0 auto!important;width:calc(100% - 20px)!important;padding:7px 10px!important;min-height:58px!important;border-radius:15px!important;}
  .rotezi-main .topbar .official-brand {width:116px!important;flex-basis:116px;}
  .rotezi-main .top-actions {gap:4px;}
  .rotezi-main .topbar :is(.top-link,.menu-button,.rotezi-account-button){padding:7px 9px!important;}
  .rotezi-main .topbar .top-link {display:none!important;}
  .rotezi-main .journey-context-bar-v08 {padding:20px;}
  .rotezi-main .app-shell>:is(.journey-control-v08,.journey-workspace-v08,.environment-hub,footer) {width:calc(100% - 20px);}
  .rotezi-main #journey-control {padding:12px!important;}
  .rotezi-main .journey-stage-v08>:is(.card,section) {padding:12px;}
  .rotezi-main #tour-grid .tour-card {padding:12px;}
  .rotezi-main #journey-control .journey-mode-grid-v08 {width:100%;gap:7px;}
  .rotezi-main #journey-control .journey-mode-option-v08 {min-height:64px!important;padding:6px 4px!important;gap:3px;}
  .rotezi-main #journey-control .journey-mode-option-v08 strong {font-size:15px!important;}
  .rotezi-main #journey-control .journey-mode-option-v08 small {font-size:11px!important;line-height:1.25!important;}
  .rotezi-main .hero>.hero-copy {max-width:310px!important;font-size:14px!important;line-height:1.45!important;}
  .rotezi-main .hero-v08-ask {padding:10px 36px 10px 16px!important;min-height:52px;}
  .rotezi-main .hero-v08-ask small {font-size:12px!important;}
  .rotezi-main #condicoes.is-details-open {padding:12px;}
  .rotezi-main #condicoes .environment-data-panel {padding:12px;}
  .rotezi-main #condicoes .environment-heading-actions {width:100%;justify-content:space-between;}
  .rotezi-main .price-filter-control label {display:grid;gap:7px;}
  .rotezi-main .price-filter-control select {font-size:16px;}
  .rotezi-main footer.refined-footer {gap:12px;align-items:flex-start;}
  .rotezi-main footer .refined-footer-brand {gap:10px;}
  .rotezi-main footer .refined-footer-links {gap:0 16px;}
}
@media(max-width:360px) {
  .rotezi-main #journey-control {padding:8px!important;}
  .rotezi-main #journey-control .journey-mode-grid-v08 {gap:5px;grid-template-columns:.92fr .9fr 1.18fr;}
  .rotezi-main #journey-control .journey-mode-option-v08 {padding-inline:2px!important;}
  .rotezi-main #tour-grid .tour-card .card-actions button {padding-inline:3px!important;font-size:12px!important;}
}
@media(prefers-reduced-motion:reduce) {
  .rotezi-main .hero-connections {display:none;}
  .rotezi-main #condicoes.is-details-open,
  .rotezi-main #condicoes .environment-panel.is-active :is(.environment-overview,.environment-chart-card,.environment-timeline,.tide-main) {animation:none!important;transform:none!important;opacity:1!important;}
}

/* Compact environmental headings and a single bounded moon/cloud symbol. */
.rotezi-main :is(.environment-tab-icon,#environment-glance-dock button>span,.environment-selected>span) {white-space:nowrap;line-height:1;}
.rotezi-main :is(.environment-tab-icon,#environment-glance-dock button>span,.environment-selected>span)>svg {display:block;width:100%;height:100%;max-width:32px;max-height:32px;flex:none;}

/* Estrutura constante, inclusive antes da primeira foto. */
.rotezi-main #directory-grid .partner-ad-copy{display:grid;grid-template-rows:72px 78px;gap:8px;min-width:0}
.rotezi-main #directory-grid .partner-ad-identity{height:72px;min-height:0;margin:0;align-items:start}
.rotezi-main #directory-grid .partner-ad-identity>div{max-height:72px;overflow-y:auto;overflow-wrap:anywhere}
.rotezi-main #directory-grid .partner-ad-copy .partner-ad-description{height:78px;min-height:0;max-width:none;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;overscroll-behavior:contain;overflow-wrap:anywhere;line-height:1.5;margin:0;padding-right:4px}
.rotezi-main #directory-grid .partner-ad-description:focus-visible{outline:2px solid var(--accent,#127bff);outline-offset:2px}
.rotezi-main #directory-grid .partner-ad-photos{aspect-ratio:4/3;align-self:start;overflow:hidden;border-radius:10px;background:var(--partner-soft,#edf5ff)}
.rotezi-main #directory-grid .partner-ad-photos img{width:100%;height:100%;object-fit:cover}
@media(min-width:851px){.rotezi-main #directory-grid .partner-ad .partner-ad-presentation>button{height:44px;margin:0;max-width:100%;padding-block:6px}}

/* Public category containers use the page background; their content cards keep their surfaces. */
.rotezi-main :is(.journey-workspace-v08,.journey-stage-v08),
.rotezi-main #journey-control,
.rotezi-main .journey-stage-v08>:is(.card,section) {
 padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
.rotezi-main .journey-stage-v08>:is(.card,section)::before {display:none!important}

/* Mobile gutters stay shallow across the remaining content cards. */
@media(max-width:760px){
 .rotezi-main :is(.section-heading,.compact-heading,.sports-hub-head,.journey-context-copy-v08,.journey-control-head-v08>div:first-child){width:100%;text-align:center}
 .rotezi-main :is(.section-heading,.compact-heading,.sports-hub-head) :is(h2,p){text-wrap:pretty;margin-inline:auto}
 .rotezi-main .app-shell>:is(.journey-control-v08,.journey-workspace-v08,.environment-hub,footer){width:calc(100% - 12px)}
 .rotezi-main .journey-context-bar-v08{padding:10px}
 .rotezi-main #tour-grid .tour-card,.rotezi-main :is(.transport-card,.directory-card,.emergency-card){padding:10px}
 .rotezi-main .directory-area-grid{padding:0 4px 4px}
 .rotezi-main :is(#tour-grid,.transport-grid,.directory-area-grid,.emergency-flat-list){gap:10px}
 .rotezi-main #eventos .public-event{margin-top:10px}
 .rotezi-main #eventos :is(.event-overview,.event-details-content){padding:10px;gap:12px}
 .rotezi-main #eventos .event-details summary{padding:12px 10px}
}

/* Rô: approved mascot. Clip only its presentation; preserve the source artwork. */
.ro-portrait{position:relative;display:block;overflow:hidden;isolation:isolate;border-radius:50%;background:#075df4;flex:none}
.ro-portrait>img{position:absolute;max-width:none!important;width:116.7%!important;height:116.7%!important;left:-8.35%;top:-8.35%;object-fit:cover;pointer-events:none}
.rotezi-chat-avatar.ro-portrait{width:46px;height:46px}
.rotezi-chat-title strong,.rotezi-chat-status{white-space:nowrap}
html body.rotezi-main>.support-fab.ro-fab{position:fixed!important;display:flex!important;right:max(12px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:120;align-items:center;justify-content:center;gap:8px;width:auto;height:60px;min-height:60px;margin:0;padding:5px 16px 5px 5px!important;border:1px solid rgba(255,255,255,.5);border-radius:999px!important;background:#075df4!important;color:#fff!important;box-shadow:0 6px 22px rgba(3,42,109,.28)}
.support-fab.ro-fab .ro-portrait{display:block!important;width:48px;height:48px}
.support-fab.ro-fab .support-fab-label{font-size:14px;line-height:1;font-weight:800;white-space:nowrap}
.support-fab.ro-fab .ro-chat-mark{position:absolute;right:0;bottom:-1px;width:20px;height:20px;padding:3px;box-sizing:content-box;border-radius:50%;background:#fff;stroke:#0653cb;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;box-shadow:0 1px 4px #002b5b30;pointer-events:none}
.support-fab.ro-fab:focus-visible{outline:3px solid #83c9ff;outline-offset:4px}
@media(max-width:760px){
 html body.rotezi-main>.support-fab.ro-fab{width:60px;height:60px;padding:5px!important}
 .support-fab.ro-fab .support-fab-label{display:none!important}
 .rotezi-chat-header{padding:12px 10px;gap:8px}
 .rotezi-chat-identity{gap:9px}
 .rotezi-chat-body{padding-left:10px;padding-right:10px}
}

/* Chegada: espaçamento e hierarquia aprovados pelo proprietário em 14/09/2026. */
.rotezi-main #hospedagem > .lodging-placeholder-v08 {
  box-sizing: border-box;
  min-width: 0;
  padding: 30px 32px;
  border: 1px solid var(--adaptive-border, #d9e4ef);
  border-radius: 22px;
  gap: 20px;
  align-items: flex-start;
  text-align: left;
}
.rotezi-main #hospedagem > .lodging-placeholder-v08 > div:first-child {
  min-width: 0;
  max-width: 100%;
  width: 100%;
}
.rotezi-main #hospedagem .lodging-placeholder-v08 p {
  max-width: 65ch;
  margin: 12px 0 0;
  font-size: 18px;
  line-height: 1.6;
  text-wrap: pretty;
}
.rotezi-main #hospedagem .lodging-placeholder-v08 .v08-actions {
  justify-content: flex-start;
}
@media (max-width: 760px) {
  .rotezi-main .app-shell > #journey-workspace[data-mode="arriving"] {
    width: calc(100% - 16px);
    margin-inline: auto;
  }
  .rotezi-main #journey-workspace[data-mode="arriving"] .journey-context-bar-v08 {
    padding: 12px 8px;
  }
  .rotezi-main #journey-workspace[data-mode="arriving"] .journey-context-copy-v08 h2 {
    font-size: clamp(15px, 4.9vw, 22px);
    line-height: 1.3;
    white-space: nowrap;
    letter-spacing: -.025em;
  }
  .rotezi-main #journey-workspace[data-mode="arriving"] .journey-context-copy-v08 p {
    font-size: 12.6px;
  }
  .rotezi-main #hospedagem > .lodging-placeholder-v08 {
    padding: 18px 14px;
    border-radius: 20px;
    gap: 14px;
    align-items: center;
    text-align: center;
  }
  .rotezi-main #hospedagem .lodging-placeholder-v08 p {
    margin: 10px auto 0;
    font-size: 12px;
    line-height: 1.55;
    max-width: none;
    text-wrap: balance;
  }
  .rotezi-main #hospedagem .lodging-placeholder-v08 .v08-actions {
    justify-content: center;
  }
}

/* A complete panorama on phones: no cover crop through the Fortaleza. */
@media(max-width:760px) {
  .rotezi-main .hero-shell {background:rgb(var(--hero-fade-rgb));}
  .rotezi-main .hero-shell .topbar {
    position:relative!important;inset:auto!important;margin:10px auto!important;
  }
  .rotezi-main .hero {
    height:auto;min-height:0;justify-content:flex-start;
    padding:0 10px 24px!important;background-image:none;
  }
  .rotezi-main .hero::before {
    content:"";display:block!important;position:relative;inset:auto;height:auto;border-radius:0;flex:none;align-self:center;
    width:calc(100% + 20px);aspect-ratio:1942/809;
    background-image:var(--hero-art);background-size:100% 100%;
    background-position:center;background-repeat:no-repeat;
    margin:0 0 clamp(-44px,-9vw,-29px);pointer-events:none;
  }
  .rotezi-main .hero>h1 {
    max-width:100%!important;width:100%;font-size:clamp(17px,5.1vw,26px)!important;
    white-space:nowrap!important;text-wrap:nowrap;overflow-wrap:normal;word-break:normal;
    -webkit-text-size-adjust:100%;text-size-adjust:100%;line-height:1.2;margin:0 0 7px;
  }
  .rotezi-main .hero>.hero-copy {margin:0;max-width:100%!important;font-size:13px!important;line-height:1.4!important;}
  .rotezi-main .hero>.hero-copy>span {display:block;white-space:nowrap;}
  .rotezi-main .hero-v08-ask {margin-top:12px!important;}
}

/* White hero text with dark shadow, as requested, in both themes and sizes. */
.rotezi-main .hero {
  --hero-title:#fff;
  --hero-copy:#fff;
  --hero-text-shadow:0 1px 2px rgba(0,0,0,.95),0 2px 5px rgba(0,0,0,.8),0 0 12px rgba(0,0,0,.5);
}
