/* Approved price presentation. Keep prices, units and booking controls in their original cards. */
body.rotezi-main {
  --price-ink:#0867d7;
  --price-muted:#52677c;
  --schedule-surface:#eaf1f8;
  --schedule-border:#ccd9e8;
  --schedule-ink:#24476b;
}
html[data-theme="dark"] body.rotezi-main {
  --price-ink:#80baff;
  --price-muted:#afc0d2;
  --schedule-surface:#19334f;
  --schedule-border:#3c5675;
  --schedule-ink:#dceaff;
}
@media(prefers-color-scheme:dark) {
  html:not([data-theme="light"]) body.rotezi-main {
    --price-ink:#80baff;
    --price-muted:#afc0d2;
    --schedule-surface:#19334f;
    --schedule-border:#3c5675;
    --schedule-ink:#dceaff;
  }
}

/* Schedule chips keep a subtle surface in both themes, independently of prices. */
body.rotezi-main.tourist-experience #transportes .schedule-chips > span {
  background:var(--schedule-surface)!important;
  border:1px solid var(--schedule-border)!important;
  color:var(--schedule-ink)!important;
}
body.rotezi-main.tourist-experience #transportes .schedule-chips > span:focus-visible {
  outline:2px solid var(--price-ink);
  outline-offset:3px;
}
/* Keep each amount and its unit together when both directions are visible. */
body.rotezi-main.tourist-experience #transportes .catamaran-directions {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));
}
body.rotezi-main.tourist-experience #transportes .catamaran-operator {text-align:left;}
body.rotezi-main.tourist-experience #transportes .catamaran-directions .transport-price {margin-inline:0;}
body.rotezi-main.tourist-experience #transportes .catamaran-directions .schedule-chips {justify-content:flex-start;}
body.rotezi-main.tourist-experience #transportes .catamaran-directions:has(>.direction-block[hidden])>.direction-block:not([hidden]) {justify-self:start;}
/* The same card surface and hierarchy serve every transport modality. */
body.rotezi-main.tourist-experience #transportes .transport-card {
  background:var(--tourist-surface)!important;
  border-color:var(--tourist-line)!important;
}
body.rotezi-main.tourist-experience #transportes .transport-card :is(.direction-block,.freshness,.directory-map-disabled,.route-placeholder) {
  padding:0;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;
}
body.rotezi-main.tourist-experience #transportes .transport-card .freshness {color:var(--price-muted)!important;}
/* Keep these approved modality names and operator badges on one header line. */
body.rotezi-main.tourist-experience #transportes :is([data-owner-transfer="semi-collective"],[data-owner-transfer="catamaran"]) > .transport-head {
  justify-content:flex-start;
  gap:8px;
}
body.rotezi-main.tourist-experience #transportes :is([data-owner-transfer="semi-collective"],[data-owner-transfer="catamaran"]) > .transport-head > .transport-type {
  flex:0 0 auto;
  margin-right:auto;
  white-space:nowrap;
}
body.rotezi-main.tourist-experience #transportes :is([data-owner-transfer="semi-collective"],[data-owner-transfer="catamaran"]) > .transport-head > .freshness {
  flex:0 0 auto;
  white-space:nowrap;
}
body.rotezi-main.tourist-experience #transportes :is([data-owner-transfer="semi-collective"],[data-owner-transfer="catamaran"],[data-owner-transfer="scheduled-flight"]) > .transport-head > .freshness {
  padding:3px 7px;
  border:1px solid var(--schedule-border)!important;
  border-radius:999px;
  background:var(--schedule-surface)!important;
}
body.rotezi-main.tourist-experience #transportes .transport-card :is(h3,p,.transport-price-detail),
body.rotezi-main.tourist-experience #tour-grid .tour-card :is(h3,p,.tour-price-detail) {text-wrap:pretty;}
body.rotezi-main.tourist-experience #transportes .transport-card .direction-block>strong {
  display:table;width:fit-content;max-width:100%;box-sizing:border-box;
  padding:5px 8px;border:1px solid var(--schedule-border);border-radius:8px;
  background:var(--schedule-surface);color:var(--schedule-ink);font-size:11px;line-height:1.4;
  white-space:normal;
}
body.rotezi-main.tourist-experience #transportes .transport-schedule-caption {
  margin:8px 0;
  color:var(--price-muted);
  font-size:12px;
  line-height:1.4;
}

body.rotezi-main.tourist-experience #tour-grid .tour-price,
body.rotezi-main.tourist-experience #transportes .transport-price,
body.rotezi-main .sheet .tour-price,
body.rotezi-main .sheet .tour-price-summary,
body.rotezi-main .sheet .tour-commercial-surface .tour-price-summary,
body.rotezi-main .sheet .tour-commercial-surface .tour-duration-price {
  display:block;
  width:fit-content;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
  margin:10px 0;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.rotezi-main .sheet .tour-price-summary,
body.rotezi-main .sheet .tour-commercial-surface .tour-price-summary {width:100%;margin:0 0 16px;}
body.rotezi-main .sheet .tour-commercial-surface .tour-duration-price {width:100%;margin:0;}
body.rotezi-main .tour-booking-option .tour-price {width:100%;margin:0!important;outline:0!important;}

body.rotezi-main.tourist-experience #tour-grid .tour-price :is(.tour-price-label,.tour-price-prefix,.tour-price-detail,.tour-price-status),
body.rotezi-main.tourist-experience #transportes .transport-price :is(.transport-price-label,.transport-price-qualifier,.transport-price-detail),
body.rotezi-main .sheet .tour-commercial-surface :is(.tour-price,.tour-price-summary,.tour-duration-price) :is(.tour-price-label,.tour-price-prefix,.tour-price-detail,.tour-price-status,.tour-summary-meta),
body.rotezi-main .sheet :is(.tour-price,.tour-price-summary) :is(.tour-price-label,.tour-price-prefix,.tour-price-detail,.tour-price-status,.tour-summary-meta) {
  display:block;
  margin:0 0 4px;
  color:var(--price-muted)!important;
  font-size:11px!important;
  font-weight:600!important;
  line-height:1.4!important;
  letter-spacing:0!important;
  text-transform:none!important;
  overflow-wrap:anywhere;
}
body.rotezi-main.tourist-experience #tour-grid .tour-price .tour-price-status,
body.rotezi-main .sheet .tour-price .tour-price-status,
body.rotezi-main .sheet .tour-commercial-surface .tour-price .tour-price-status {font-size:14px!important;font-weight:650!important;}

body.rotezi-main.tourist-experience #tour-grid .tour-price .tour-price-main,
body.rotezi-main.tourist-experience #transportes .transport-price .transport-price-main,
body.rotezi-main .sheet :is(.tour-price,.tour-duration-price) .tour-price-main {
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:3px 6px;
  min-width:0;
  max-width:100%;
  margin:0;
}
body.rotezi-main.tourist-experience #tour-grid .tour-price .tour-price-amount,
body.rotezi-main.tourist-experience #transportes .transport-price strong,
body.rotezi-main .sheet .tour-commercial-surface :is(.tour-price,.tour-duration-price) .tour-price-amount,
body.rotezi-main .sheet .tour-price .tour-price-amount {
  display:inline;
  color:var(--price-ink)!important;
  font-size:26px!important;
  font-weight:800!important;
  line-height:1.15!important;
  letter-spacing:-.025em!important;
  text-transform:none!important;
  overflow-wrap:normal;
}
body.rotezi-main.tourist-experience #tour-grid .tour-price .tour-price-unit,
body.rotezi-main.tourist-experience #transportes .transport-price small,
body.rotezi-main .sheet .tour-commercial-surface :is(.tour-price,.tour-duration-price) .tour-price-unit,
body.rotezi-main .sheet .tour-price .tour-price-unit {
  display:inline;
  margin:0!important;
  color:var(--price-muted)!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.4!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
body.rotezi-main.tourist-experience #tour-grid .tour-price .tour-price-detail,
body.rotezi-main.tourist-experience #transportes .transport-price .transport-price-detail,
body.rotezi-main .sheet :is(.tour-price,.tour-duration-price) .tour-price-detail {margin:5px 0 0;}

/* Selection remains on the native radio, without a second frame around the price. */
body.rotezi-main .tour-booking-option {min-height:44px;}
body.rotezi-main .tour-booking-option input {accent-color:var(--price-ink);}
body.rotezi-main .tour-booking-option input:focus-visible {outline:2px solid var(--price-ink);outline-offset:3px;}
body.rotezi-main .tour-booking-option:has(input:checked) .tour-price-label {font-weight:800!important;}
body.rotezi-main .sheet .tour-duration-prices {gap:20px 16px;}

/* Empty qualifier nodes preserve the saved editor's element identities. */
body.rotezi-main #transportes .transport-price-qualifier:empty,
body.rotezi-main :is(#tour-grid,.sheet) .tour-price-prefix:empty {display:none!important;}

/* Only the transport/tour filter wrappers lose their frames; selects keep focus and contrast. */
body.rotezi-main.tourist-experience #transportes>.transport-filter-controls>.transport-departure-filter,
body.rotezi-main.tourist-experience #transportes>.transport-filter-controls>.price-filter-control[data-price-filter="#transportes"],
body.rotezi-main.tourist-experience #passeios>.price-filter-control[data-price-filter="#passeios"] {
  padding:0;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;
}
body.rotezi-main.tourist-experience #transportes>.transport-filter-controls {margin:12px auto;}
@media(min-width:761px) {
  body.rotezi-main.tourist-experience #transportes>.transport-filter-controls {
    grid-template-columns:minmax(0,360px) minmax(0,280px);
    width:min(100%,664px);margin-inline:0;gap:24px;
  }
  body.rotezi-main.tourist-experience #passeios {grid-template-columns:minmax(0,1fr) minmax(0,280px);row-gap:12px;}
}
@media(max-width:760px) {
  body.rotezi-main.tourist-experience #transportes>.transport-filter-controls {margin:10px 0 12px;}
  body.rotezi-main.tourist-experience #passeios>.price-filter-control[data-price-filter="#passeios"] {margin:0 0 12px;}
}

@media(max-width:760px) {
  body.rotezi-main.tourist-experience #tour-grid .tour-price .tour-price-amount,
  body.rotezi-main.tourist-experience #transportes .transport-price strong,
  body.rotezi-main .sheet .tour-commercial-surface :is(.tour-price,.tour-duration-price) .tour-price-amount,
  body.rotezi-main .sheet .tour-price .tour-price-amount {font-size:24px!important;}
  body.rotezi-main.tourist-experience #tour-grid .tour-booking-option .tour-price-amount {font-size:22px!important;}
  body.rotezi-main.tourist-experience #tour-grid .tour-booking-option .tour-price-unit {font-size:11px!important;}
}
