/* Embarque Floripa — editorial redesign 0.2.3.
 * All page rules are scoped to body.ef-redesign. The 0.1.0 pilot CSS is separate.
 * Existing WordPress content, galleries, forms and media remain in their own DOM.
 */

@font-face {
  font-family: "Open Sans";
  src: url("fonts/OpenSans-Regular.woff") format("woff");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Open Sans";
  src: url("fonts/OpenSans-Bold.woff") format("woff");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

body.ef-redesign {
  --efr-bg: #000000;
  --efr-bg-soft: #05070a;
  --efr-panel: #0d1117;
  --efr-panel-hover: #111a24;
  --efr-white: #ffffff;
  --efr-text: #d8e2ec;
  --efr-muted: #b5c2ce;
  --efr-blue: #00a8ff;
  --efr-blue-dark: #1e4d8f;
  --efr-border: #273746;
  --efr-font: "Open Sans", Arial, sans-serif;
  --efr-shell: 1200px;
  --efr-reading: 780px;
  --efr-gutter: clamp(20px, 3vw, 32px);
  --efr-radius: 16px;
  --efr-header-offset: 150px;
  --awb-text-font-family: var(--efr-font);
  --awb-text-color: var(--efr-text);
  --link_color: var(--efr-blue);
  --link_hover_color: var(--efr-white);
  margin: 0;
  background-color: var(--efr-bg) !important;
  background-image: none !important;
  color: var(--efr-text);
  font-family: var(--efr-font) !important;
  font-size: 17px;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* The theme can remain in boxed mode without constraining the new site shell. */
body.ef-redesign #boxed-wrapper,
body.ef-redesign #wrapper {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  background-color: var(--efr-bg) !important;
  box-shadow: none;
}

body.ef-redesign #main {
  padding: 40px var(--efr-gutter) 72px;
  background-color: var(--efr-bg) !important;
  color: var(--efr-text);
}

body.ef-redesign #main > .fusion-row {
  width: 100%;
  max-width: var(--efr-shell);
  margin-inline: auto;
}

body.ef-redesign .ef-shell {
  width: 100%;
  max-width: var(--efr-shell);
  margin-inline: auto;
}

body.ef-redesign :where(.ef-site-header, .ef-site-footer, .ef-home, .ef-hub, .ef-archive, .ef-search, .ef-not-found, .ef-preview-banner, .efr-legacy-cta),
body.ef-redesign :where(.ef-site-header, .ef-site-footer, .ef-home, .ef-hub, .ef-archive, .ef-search, .ef-not-found, .ef-preview-banner, .efr-legacy-cta) * {
  box-sizing: border-box;
}

body.ef-redesign :where(.ef-shell, .ef-hero__content, .ef-hero__media, .ef-card, .ef-card__body, .ef-content-wrap, .ef-footer-grid) {
  min-width: 0;
}

body.ef-redesign :where(.ef-site-header, .ef-site-footer, .ef-home, .ef-hub, .ef-archive, .ef-search, .ef-not-found) :where(h1, h2, h3, h4, p, ul, ol, figure) {
  margin-top: 0;
}

/* Avada adds calculated typography to headings inside #main. These explicit
 * component rules must outrank that theme layer, including its font family. */
body.ef-redesign :is(.ef-site-header, .ef-site-footer, .ef-home, .ef-hub, .ef-archive, .ef-search, .ef-not-found) :is(h1, h2, h3, h4) {
  font-family: var(--efr-font) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  color: var(--efr-white) !important;
  line-height: 1.2;
  letter-spacing: -0.025em;
  overflow-wrap: break-word;
}

body.ef-redesign :where(.ef-site-header, .ef-site-footer, .ef-home, .ef-hub, .ef-archive, .ef-search, .ef-not-found) :where(p, li, label, input, button) {
  font-family: var(--efr-font);
}

body.ef-redesign :where(.ef-site-header, .ef-site-footer, .ef-home, .ef-hub, .ef-archive, .ef-search, .ef-not-found) a {
  color: var(--efr-blue);
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
}

body.ef-redesign :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--efr-blue) !important;
  outline-offset: 4px;
}

body.ef-redesign :where([id], [tabindex="-1"]) {
  scroll-margin-top: var(--efr-header-offset);
}

body.ef-redesign .ef-skip-link,
body.ef-redesign .ef-skip {
  position: fixed;
  inset: 12px auto auto 16px;
  z-index: 100000;
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  max-width: calc(100vw - 32px);
  padding: 12px 20px;
  border: 2px solid var(--efr-white);
  border-radius: 8px;
  background: var(--efr-blue);
  color: var(--efr-bg-soft);
  font: 700 16px/1.5 var(--efr-font);
  text-decoration: underline;
  transform: translateY(-180%);
}

body.ef-redesign .ef-skip-link:focus,
body.ef-redesign .ef-skip:focus {
  transform: none;
}

/* Buttons keep dark text on sky blue; white on this blue would fail contrast. */
body.ef-redesign .ef-button,
body.ef-redesign .efr-button,
body.ef-redesign .ef-search-form button,
body.ef-redesign .ef-content:not(.ef-content--editorial) :where(.fusion-button, .vc_btn3, .wp-block-button__link, .ef-cta__link) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  max-width: 100%;
  padding: 12px 23px;
  border: 1px solid var(--efr-blue) !important;
  border-radius: 999px !important;
  background: var(--efr-blue) !important;
  color: var(--efr-bg-soft) !important;
  box-shadow: none;
  font-family: var(--efr-font) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  text-align: center;
  text-decoration: none !important;
  white-space: normal;
  cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease;
}

body.ef-redesign .ef-button:hover,
body.ef-redesign .efr-button:hover,
body.ef-redesign .ef-search-form button:hover,
body.ef-redesign .ef-content:not(.ef-content--editorial) :where(.fusion-button, .vc_btn3, .wp-block-button__link, .ef-cta__link):hover {
  background: #42c8ff !important;
  border-color: #42c8ff !important;
  color: var(--efr-bg-soft) !important;
}

body.ef-redesign .ef-button--secondary,
body.ef-redesign .ef-button--ghost,
body.ef-redesign .ef-header-actions .ef-button {
  border-color: #42617c !important;
  background: transparent !important;
  color: var(--efr-white) !important;
}

body.ef-redesign .ef-button--secondary:hover,
body.ef-redesign .ef-button--ghost:hover,
body.ef-redesign .ef-header-actions .ef-button:hover {
  border-color: var(--efr-blue) !important;
  background: var(--efr-panel-hover) !important;
  color: var(--efr-white) !important;
}

body.ef-redesign .ef-button--dark {
  background: var(--efr-blue-dark) !important;
  border-color: #4279bd !important;
  color: var(--efr-white) !important;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) .fusion-button .fusion-button-text,
body.ef-redesign .ef-content:not(.ef-content--editorial) .fusion-button span {
  color: inherit !important;
  font-family: var(--efr-font) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

/* Header and navigation: links are visible unless initialized JS closes them. */
body.ef-redesign .ef-site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
  padding: 14px var(--efr-gutter);
  border-bottom: 1px solid var(--efr-border);
  background: #000000;
  color: var(--efr-white);
}

body.ef-redesign.admin-bar .ef-site-header {
  top: 32px;
}

body.ef-redesign .ef-site-header > .ef-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 18px;
  row-gap: 14px;
}

body.ef-redesign .ef-brand {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-content: center;
  align-items: center;
  column-gap: 11px;
  width: fit-content;
  min-height: 44px;
  max-width: 285px;
  color: var(--efr-white) !important;
  text-decoration: none;
}

body.ef-redesign .ef-brand__logo {
  grid-column: 1;
  grid-row: 1 / 3;
  display: block;
  width: 42px;
  height: 42px;
  max-width: 64px;
  margin: 0;
  object-fit: contain;
}

body.ef-redesign .ef-brand__name {
  grid-column: 2;
  display: block;
  color: var(--efr-white);
  font: 700 19px/1.3 var(--efr-font);
  letter-spacing: -0.025em;
}

body.ef-redesign .ef-brand__tagline {
  grid-column: 2;
  display: block;
  margin-top: 2px;
  color: var(--efr-muted);
  font: 400 14px/1.5 var(--efr-font);
  letter-spacing: 0.015em;
}

body.ef-redesign .ef-nav-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 46px;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid #52687e;
  border-radius: 10px;
  background: var(--efr-panel);
  color: var(--efr-white);
  font: 700 14px/1.5 var(--efr-font);
  cursor: pointer;
}

body.ef-redesign .ef-nav-toggle[hidden] {
  display: none !important;
}

body.ef-redesign .ef-nav-toggle svg {
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
}

body.ef-redesign .ef-nav-toggle[aria-expanded="true"] {
  border-color: var(--efr-blue);
  background: var(--efr-panel-hover);
}

body.ef-redesign .ef-primary-nav {
  grid-column: 1 / -1;
  width: 100%;
}

body.ef-redesign .ef-nav-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3px 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.ef-redesign .ef-nav-list > li {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.ef-redesign .ef-nav-list a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 9px 4px;
  border-bottom: 2px solid transparent;
  color: var(--efr-text);
  font: 700 14px/1.45 var(--efr-font);
  text-decoration: none;
}

body.ef-redesign .ef-nav-list a:hover,
body.ef-redesign .ef-nav-list a[aria-current="page"],
body.ef-redesign .ef-nav-list .current-menu-item > a {
  border-bottom-color: var(--efr-blue);
  color: var(--efr-white);
}

body.ef-redesign .ef-header-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

body.ef-redesign .ef-header-actions .ef-button {
  min-height: 44px;
  padding: 9px 16px;
  font-size: 14px !important;
}

/* A preview notice is informative, not part of the public editorial header. */
body.ef-redesign .ef-preview-banner {
  position: relative;
  z-index: 1001;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 16px;
  padding: 10px 20px;
  border-bottom: 1px solid #42617c;
  background: #102131;
  color: #edf7ff;
  font: 400 14px/1.5 var(--efr-font);
  text-align: center;
}

body.ef-redesign .ef-preview-banner a {
  color: #8cdaff;
  font-weight: 700;
  text-decoration: underline;
}

/* Editorial home and listing templates. */
body.ef-redesign .ef-home,
body.ef-redesign .ef-hub,
body.ef-redesign .ef-archive,
body.ef-redesign .ef-search,
body.ef-redesign .ef-not-found {
  width: 100%;
  max-width: var(--efr-shell);
  margin-inline: auto;
  color: var(--efr-text);
}

body.ef-redesign .ef-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(28px, 5vw, 64px);
  padding: 28px 0 64px;
  border-bottom: 1px solid var(--efr-border);
  background: var(--efr-bg);
}

body.ef-redesign .ef-eyebrow,
body.ef-redesign .ef-card__kicker {
  display: block;
  margin: 0 0 16px;
  color: var(--efr-blue);
  font: 700 14px/1.6 var(--efr-font);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.ef-redesign .ef-hero h1 {
  margin: 0 0 24px;
  font-size: clamp(38px, 5.5vw, 68px) !important;
  line-height: 1.08;
  letter-spacing: -0.045em;
}

body.ef-redesign .ef-hero__intro {
  max-width: 43ch;
  margin: 0 0 30px;
  color: var(--efr-text);
  font-size: clamp(17px, 1.8vw, 20px);
  line-height: 1.75;
}

body.ef-redesign .ef-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 26px;
}

body.ef-redesign .ef-hero__media {
  position: relative;
  margin: 0;
}

body.ef-redesign .ef-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 4;
  border: 1px solid var(--efr-border);
  border-radius: 20px;
  object-fit: cover;
  background: var(--efr-panel);
}

body.ef-redesign .ef-hero__media figcaption {
  margin-top: 12px;
  color: var(--efr-muted);
  font: 400 14px/1.6 var(--efr-font);
}

body.ef-redesign .ef-section {
  margin: 0;
  padding: 58px 0;
  border-bottom: 1px solid var(--efr-border);
}

body.ef-redesign .ef-section:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

body.ef-redesign .ef-section__head {
  display: block;
  margin-bottom: 28px;
}

body.ef-redesign .ef-section__head .ef-eyebrow {
  margin: 0 0 12px;
  color: var(--efr-blue);
  font-size: 14px;
  font-weight: 700;
}

body.ef-redesign .ef-section__head h2 {
  margin: 0;
  font-size: clamp(27px, 3.1vw, 38px) !important;
  line-height: 1.2;
}

body.ef-redesign .ef-section__head p {
  max-width: 64ch;
  margin: 10px 0 0;
  color: var(--efr-muted);
  font-size: 16px;
  line-height: 1.7;
}

body.ef-redesign .ef-section__head > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--efr-blue);
  font-size: 15px;
  font-weight: 700;
  text-decoration: underline;
}

body.ef-redesign .ef-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 26px;
  margin: 0;
  padding: 0;
}

body.ef-redesign .ef-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
  border: 1px solid var(--efr-border);
  border-radius: var(--efr-radius);
  background: transparent !important;
  color: var(--efr-text);
  transition: border-color 160ms ease;
}

body.ef-redesign .ef-card:hover,
body.ef-redesign .ef-card:focus-within {
  border-color: #46708b;
  background: transparent !important;
}

body.ef-redesign .ef-card__media {
  display: block;
  margin: 0;
  border-radius: 15px 15px 0 0;
  background: transparent !important;
}

body.ef-redesign .ef-card__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  margin: 0;
  border-radius: 15px 15px 0 0;
  object-fit: cover;
}

body.ef-redesign .ef-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: 25px;
}

body.ef-redesign .ef-card__image-label {
  display: block;
  margin: 0 0 12px;
  color: var(--efr-muted);
  font: 400 14px/1.6 var(--efr-font);
}

body.ef-redesign .ef-card__kicker {
  margin-bottom: 12px;
  font-size: 14px;
  line-height: 1.6;
}

body.ef-redesign .ef-card__title {
  margin: 0 0 13px;
  font-size: clamp(20px, 2vw, 24px) !important;
  line-height: 1.35;
  letter-spacing: -0.02em;
}

body.ef-redesign .ef-card__title a {
  color: var(--efr-white) !important;
  font-family: var(--efr-font) !important;
  text-decoration: none;
}

body.ef-redesign .ef-card__title a:hover {
  text-decoration: underline;
}

body.ef-redesign .ef-card__excerpt {
  margin: 0 0 18px;
  color: var(--efr-muted);
  font-size: 16px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

body.ef-redesign .ef-card__body time,
body.ef-redesign .ef-card__meta {
  display: block;
  margin: 0 0 12px;
  color: var(--efr-muted);
  font-size: 14px;
  line-height: 1.6;
}

body.ef-redesign .ef-card__date {
  display: none !important;
  margin: 0 0 15px;
  color: var(--efr-muted);
  font-size: 14px;
  line-height: 1.65;
}

body.ef-redesign .ef-card__date time {
  display: inline;
  margin: 0;
  font-size: inherit;
  line-height: inherit;
}

/* Publication metadata observed in the 254-page HTML audit.
 * Avada's visible date is the unclassified span immediately after its hidden
 * .updated span; retain the preceding author separator and all category links.
 * Never hide all time elements or a complete author/category metadata row.
 */
body.ef-redesign #content .updated.rich-snippet-hidden,
body.ef-redesign .fusion-meta-info .fusion-alignleft > span.updated,
body.ef-redesign .fusion-meta-info .fusion-alignleft > span.updated + span:not([class]),
body.ef-redesign .fusion-meta-info .fusion-alignleft > span.updated + span:not([class]) + span.fusion-inline-sep,
body.ef-redesign .rpwe_widget time.rpwe-time.published,
body.ef-redesign .wpcp-post-meta > li > time.entry-date.published.updated {
  display: none !important;
}

/* Remove only the carousel date's otherwise empty list item, not the author. */
body.ef-redesign .wpcp-post-meta > li:has(> time.entry-date.published.updated) {
  display: none !important;
}

body.ef-redesign .ef-card__link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: auto;
  color: var(--efr-blue) !important;
  font-family: var(--efr-font) !important;
  font-size: 15px;
  font-weight: 700;
  text-decoration: underline;
}

body.ef-redesign .ef-archive > header,
body.ef-redesign .ef-search > header,
body.ef-redesign .ef-not-found > header,
body.ef-redesign .ef-archive__head {
  margin-bottom: 36px;
}

body.ef-redesign :where(.ef-hub, .ef-archive, .ef-search, .ef-not-found) > h1,
body.ef-redesign :where(.ef-hub, .ef-archive, .ef-search, .ef-not-found) > header h1,
body.ef-redesign .ef-archive__head h1 {
  margin: 0 0 20px;
  font-size: clamp(32px, 4.6vw, 54px) !important;
  line-height: 1.15;
}

body.ef-redesign :where(.ef-hub, .ef-archive, .ef-search, .ef-not-found) > p,
body.ef-redesign :where(.ef-hub, .ef-archive, .ef-search, .ef-not-found) > header p {
  max-width: 72ch;
  margin-bottom: 28px;
  color: var(--efr-muted);
  font-size: 18px;
}

body.ef-redesign .ef-not-found {
  max-width: 900px;
  padding: 34px 0 60px;
}

body.ef-redesign .ef-search-form {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 12px;
  width: 100%;
  max-width: 780px;
  margin: 24px 0 34px;
}

body.ef-redesign .ef-search-form label {
  flex-basis: 100%;
  display: block;
  margin: 0;
  color: var(--efr-text);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
}

body.ef-redesign .ef-search-form__fields {
  display: flex;
  flex: 1 1 100%;
  flex-wrap: wrap;
  gap: 12px;
  min-width: 0;
}

body.ef-redesign .ef-home-search {
  padding-block: 28px;
}

body.ef-redesign .ef-home-search .ef-search-form {
  max-width: none;
  margin: 0;
}

body.ef-redesign .ef-search-form input[type="search"] {
  flex: 1 1 240px;
  min-width: 0;
  width: auto;
  min-height: 50px;
  padding: 13px 17px;
  border: 1px solid #52687e;
  border-radius: 10px;
  background: var(--efr-panel);
  color: var(--efr-white);
  font: 400 16px/1.5 var(--efr-font);
  appearance: auto;
}

body.ef-redesign .ef-search-form input::placeholder {
  color: var(--efr-muted);
  opacity: 1;
}

body.ef-redesign .ef-search-form button {
  min-height: 50px;
}

body.ef-redesign .ef-empty-state {
  padding: clamp(26px, 4vw, 44px);
  border: 1px solid var(--efr-border);
  border-radius: var(--efr-radius);
  background: var(--efr-panel);
}

body.ef-redesign .ef-empty-state h2 {
  margin-bottom: 16px;
  font-size: clamp(24px, 3vw, 32px);
}

body.ef-redesign .ef-empty-state p {
  margin-bottom: 24px;
  color: var(--efr-muted);
  font-size: 17px;
}

body.ef-redesign .ef-section.ef-editorial-note {
  margin-top: 42px;
  padding: clamp(26px, 4vw, 40px);
  border: 1px solid var(--efr-border);
  border-radius: var(--efr-radius);
  background: var(--efr-panel);
}

body.ef-redesign .ef-editorial-note .ef-section__head {
  margin-bottom: 16px;
}

body.ef-redesign .ef-editorial-note > p {
  max-width: 72ch;
  margin: 0;
  color: var(--efr-muted);
  font-size: 16px;
  line-height: 1.8;
}

body.ef-redesign .ef-pagination {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 42px 0 0;
  padding: 0;
}

body.ef-redesign .ef-pagination ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.ef-redesign .ef-pagination li {
  margin: 0;
  list-style: none;
}

body.ef-redesign .ef-pagination :where(a, span.page-numbers) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  min-height: 46px;
  padding: 9px 14px;
  border: 1px solid var(--efr-border);
  border-radius: 9px;
  background: var(--efr-panel);
  color: var(--efr-text);
  font: 700 15px/1.5 var(--efr-font);
  text-decoration: none;
}

body.ef-redesign .ef-pagination :where(.current, [aria-current="page"]) {
  background: var(--efr-blue);
  border-color: var(--efr-blue);
  color: var(--efr-bg-soft);
}

body.ef-redesign .ef-pagination a:hover {
  border-color: var(--efr-blue);
  color: var(--efr-white);
}

/* Existing articles: preserve gallery/Avada behavior, improve the reading area. */
body.ef-redesign.single-post #content > article.post {
  display: flex;
  flex-direction: column;
  max-width: 1000px;
  margin-inline: auto;
}

body.ef-redesign.single-post #content > article.post > .entry-title,
body.ef-redesign.single-post #content > article.post > .fusion-post-title-meta-wrap {
  order: -1;
}

body.ef-redesign .entry-title,
body.ef-redesign .fusion-post-title,
body.ef-redesign .fusion-page-title-bar h1 {
  font-family: var(--efr-font) !important;
  font-size: clamp(30px, 4.3vw, 52px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.035em !important;
  color: var(--efr-white) !important;
  overflow-wrap: break-word;
}

body.ef-redesign .fusion-post-title {
  margin-top: 0;
  margin-bottom: 28px;
}

body.ef-redesign .fusion-page-title-bar {
  border-color: var(--efr-border) !important;
  background-color: var(--efr-bg) !important;
  color: var(--efr-text);
}

body.ef-redesign .fusion-page-title-row,
body.ef-redesign .fusion-page-title-wrapper {
  max-width: var(--efr-shell);
}

body.ef-redesign .fusion-breadcrumbs,
body.ef-redesign .fusion-breadcrumbs a,
body.ef-redesign .fusion-meta-info,
body.ef-redesign .fusion-meta-info a,
body.ef-redesign .single-navigation a {
  color: var(--efr-muted) !important;
  font-family: var(--efr-font) !important;
  font-size: 14px;
  line-height: 1.7;
}

body.ef-redesign .fusion-meta-info,
body.ef-redesign .single-navigation {
  border-color: var(--efr-border);
}

/* Keep native secondary navigation and widgets usable when a template has them. */
body.ef-redesign .sidebar,
body.ef-redesign .fusion-sharing-box,
body.ef-redesign .about-author,
body.ef-redesign #respond {
  color: var(--efr-text);
  font-family: var(--efr-font);
  background-color: var(--efr-panel) !important;
  border-color: var(--efr-border) !important;
}

body.ef-redesign .sidebar :where(p, li, label),
body.ef-redesign .about-author :where(p, .description),
body.ef-redesign #respond :where(p, label) {
  color: var(--efr-text);
  font-family: var(--efr-font);
  font-size: 16px;
  line-height: 1.8;
}

body.ef-redesign .sidebar :where(h2, h3, h4, .widget-title),
body.ef-redesign .about-author :where(h2, h3),
body.ef-redesign .fusion-sharing-box h4,
body.ef-redesign #respond h3 {
  color: var(--efr-white) !important;
  font-family: var(--efr-font) !important;
  font-size: 21px;
  line-height: 1.4;
}

body.ef-redesign .sidebar a,
body.ef-redesign .about-author a,
body.ef-redesign #respond a {
  color: var(--efr-blue);
  text-underline-offset: 0.2em;
}

body.ef-redesign .single-navigation a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

body.ef-redesign .fusion-post-slideshow {
  width: 100%;
  margin-bottom: 34px;
  border-radius: 14px;
  background-color: var(--efr-panel);
}

body.ef-redesign .fusion-post-slideshow img {
  max-width: 100%;
  height: auto;
  border-radius: 14px;
}

body.ef-redesign .ef-content-wrap {
  width: 100%;
  max-width: var(--efr-shell);
  margin-inline: auto;
}

body.ef-redesign #content.ef-content-wrap {
  width: 100%;
  float: none;
}

/* These five curated editorial hubs replace legacy listing pages. Their old
 * search-only sidebar is redundant; all other native sidebars remain intact. */
body.ef-redesign:is(.page-id-5296, .page-id-5298, .page-id-5300, .page-id-5596, .page-id-2656) #content {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin-inline: 0;
  box-sizing: border-box;
}

body.ef-redesign:is(.page-id-5296, .page-id-5298, .page-id-5300, .page-id-5596, .page-id-2656) #sidebar {
  display: none !important;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) {
  --awb-text-font-family: var(--efr-font);
  --awb-text-font-weight: 400;
  --awb-text-color: var(--efr-text);
  --awb-link-color: var(--efr-blue);
  --awb-link-hover-color: var(--efr-white);
  color: var(--efr-text);
  font-family: var(--efr-font);
  font-size: 18px;
  line-height: 1.8;
  overflow-wrap: break-word;
}

body.ef-redesign.single-post .post-content > .ef-content:not(.ef-content--editorial) {
  max-width: var(--efr-reading);
  margin-inline: auto;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) .fusion-text {
  --awb-text-font-family: var(--efr-font) !important;
  --awb-text-font-weight: 400 !important;
  --awb-text-color: var(--efr-text) !important;
  font-family: var(--efr-font) !important;
  font-size: inherit;
  color: var(--efr-text);
}

body.ef-redesign .ef-content:not(.ef-content--editorial) :where(p, li, dt, dd, figcaption, blockquote, label, th, td) {
  color: var(--efr-text) !important;
  font-family: var(--efr-font) !important;
  line-height: 1.8;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) p {
  margin: 0 0 1.3em;
  font-size: inherit;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) li {
  margin-bottom: 0.5em;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) :where(ul, ol) {
  padding-left: 1.5em;
  margin-top: 0;
  margin-bottom: 1.5em;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) :where(h1, h2, h3, h4, h5, h6),
body.ef-redesign .ef-content:not(.ef-content--editorial) .fusion-title :where(h1, h2, h3, h4, h5, h6) {
  font-family: var(--efr-font) !important;
  font-weight: 700 !important;
  color: var(--efr-white) !important;
  line-height: 1.3 !important;
  letter-spacing: -0.02em;
  overflow-wrap: break-word;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) h1 { font-size: clamp(30px, 4.3vw, 52px) !important; }
body.ef-redesign .ef-content:not(.ef-content--editorial) h2 { font-size: clamp(25px, 3vw, 36px) !important; }
body.ef-redesign .ef-content:not(.ef-content--editorial) h3 { font-size: clamp(21px, 2.4vw, 28px) !important; }
body.ef-redesign .ef-content:not(.ef-content--editorial) h4 { font-size: 20px !important; }
body.ef-redesign .ef-content:not(.ef-content--editorial) h5 { font-size: 18px !important; }
body.ef-redesign .ef-content:not(.ef-content--editorial) h6 { font-size: 17px !important; }

body.ef-redesign .ef-content:not(.ef-content--editorial) :where(h2, h3, h4, h5, h6) {
  margin-top: 1.6em;
  margin-bottom: 0.65em;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) .fusion-title :where(h2, h3, h4, h5, h6) {
  margin-top: 0;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) :where(p, li, h1, h2, h3, h4, h5, h6) span[style*="color"] {
  color: inherit !important;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) span[style*="font-family"] {
  font-family: inherit !important;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) a:not(.fusion-button):not(.vc_btn3):not(.wp-block-button__link):not(.ef-cta__link):not(.efr-button) {
  color: var(--efr-blue);
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
  overflow-wrap: anywhere;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) :where(p, li, dd) a:not(.fusion-button):not(.vc_btn3):not(.wp-block-button__link):not(.ef-cta__link):not(.efr-button) {
  text-decoration-line: underline;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) a:not(.fusion-button) > span[style*="color"] {
  color: inherit !important;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) :where(a, button):hover {
  opacity: 1;
}

/* Solid builder surfaces change together with their text; photos stay intact. */
body.ef-redesign .ef-content:not(.ef-content--editorial) .fusion-fullwidth {
  --awb-background-color: var(--efr-bg) !important;
  --awb-border-color: var(--efr-border) !important;
  color: var(--efr-text);
  background-color: var(--efr-bg) !important;
  border-color: var(--efr-border) !important;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) .fusion-column-wrapper {
  --awb-border-color: var(--efr-border) !important;
  color: var(--efr-text);
  border-color: var(--efr-border) !important;
}

/* Do not make transparent columns opaque over an existing photograph. */
body.ef-redesign .ef-content:not(.ef-content--editorial) .fusion-column-wrapper[style*="background-color"]:not([style*="transparent"]):not([style*="rgba(0,0,0,0)"]) {
  --awb-background-color: var(--efr-panel) !important;
  background-color: var(--efr-panel) !important;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) .fusion-fullwidth[style*="gradient"]:not([style*="url("]),
body.ef-redesign .ef-content:not(.ef-content--editorial) .fusion-column-wrapper[style*="gradient"]:not([style*="url("]) {
  background-image: none !important;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) .fusion-fullwidth[style*="--awb-padding-top:90px"],
body.ef-redesign .ef-content:not(.ef-content--editorial) .fusion-fullwidth[style*="--awb-padding-top:100px"] {
  --awb-padding-top: clamp(32px, 5vw, 64px) !important;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) .fusion-fullwidth[style*="--awb-padding-bottom:90px"],
body.ef-redesign .ef-content:not(.ef-content--editorial) .fusion-fullwidth[style*="--awb-padding-bottom:100px"] {
  --awb-padding-bottom: clamp(32px, 5vw, 64px) !important;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) :where(.fusion-content-boxes .content-box-wrapper, .fusion-tabs .tab-pane, .fusion-tabs .nav-tabs li, .fusion-panel, .fusion-panel .panel-body, .fusion-person .person-desc, .fusion-tagline-box) {
  background-color: var(--efr-panel) !important;
  color: var(--efr-text) !important;
  border-color: var(--efr-border) !important;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) :where(.fusion-panel .panel-title a, .fusion-tabs .nav-tabs a) {
  color: var(--efr-text) !important;
  font-family: var(--efr-font) !important;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) .fusion-title .title-sep,
body.ef-redesign .ef-content:not(.ef-content--editorial) hr {
  border-color: var(--efr-border) !important;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) :where(img, video) {
  max-width: 100%;
  height: auto;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) :where(iframe, embed, object) {
  max-width: 100%;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) :where(figure, .wp-caption) {
  max-width: 100%;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) :where(figcaption, .wp-caption-text, .gallery-caption) {
  margin-top: 10px;
  color: var(--efr-muted) !important;
  font-size: 14px;
  line-height: 1.65;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) blockquote {
  margin: 28px 0;
  padding: 23px 26px;
  border: 1px solid var(--efr-border);
  border-left: 3px solid var(--efr-blue);
  border-radius: 0 12px 12px 0;
  background: var(--efr-panel);
  color: var(--efr-text);
}

body.ef-redesign .ef-content:not(.ef-content--editorial) :where(pre, code) {
  color: #e0edf7;
  background: var(--efr-panel);
  font-size: 0.9em;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) pre {
  max-width: 100%;
  overflow-x: auto;
  padding: 20px;
  border: 1px solid var(--efr-border);
  border-radius: 10px;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) table {
  width: 100%;
  max-width: 100%;
  margin: 24px 0;
  border-collapse: collapse;
  background: var(--efr-panel);
  color: var(--efr-text);
}

body.ef-redesign .ef-content:not(.ef-content--editorial) :where(th, td) {
  padding: 12px 15px;
  border: 1px solid var(--efr-border) !important;
  background-color: var(--efr-panel) !important;
  font-size: 16px;
  text-align: left;
  vertical-align: top;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) th {
  color: var(--efr-white) !important;
  background-color: var(--efr-panel-hover) !important;
  font-weight: 700;
}

/* Form controls retain semantics and validation; styling is not a new form. */
body.ef-redesign .ef-content:not(.ef-content--editorial) :where(input[type="text"], input[type="search"], input[type="email"], input[type="url"], input[type="tel"], input[type="number"], input[type="date"], input[type="time"], input[type="password"], select, textarea),
body.ef-redesign .sidebar :where(input[type="text"], input[type="search"], select),
body.ef-redesign #respond :where(input[type="text"], input[type="email"], input[type="url"], textarea) {
  min-height: 48px;
  max-width: 100%;
  padding: 12px 15px;
  border: 1px solid #52687e !important;
  border-radius: 8px;
  background: var(--efr-panel) !important;
  color: var(--efr-white) !important;
  font: 400 16px/1.5 var(--efr-font) !important;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) textarea {
  min-height: 140px;
  resize: vertical;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) :where(input, textarea)::placeholder {
  color: var(--efr-muted);
  opacity: 1;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) :where(select, select option, select optgroup) {
  background-color: var(--efr-panel);
  color: var(--efr-white);
}

body.ef-redesign .ef-content:not(.ef-content--editorial) :where(input[type="checkbox"], input[type="radio"]) {
  accent-color: var(--efr-blue);
}

body.ef-redesign .ef-content:not(.ef-content--editorial) :where(input[aria-invalid="true"], textarea[aria-invalid="true"], select[aria-invalid="true"]) {
  border-color: #ffb3a7 !important;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) :where(.wpcf7-not-valid-tip, .validation_error, .gfield_validation_message) {
  color: #ffb3a7 !important;
  font-size: 15px;
}

/* The approved contact cards have inline light styles: override this component. */
body.ef-redesign .ef-content:not(.ef-content--editorial) .efc-contact-center,
body.ef-redesign .ef-cta,
body.ef-redesign .efr-legacy-cta {
  display: flow-root;
  clear: both;
  max-width: 100%;
  margin: 32px 0;
  padding: clamp(24px, 4vw, 36px) !important;
  border: 1px solid var(--efr-border) !important;
  border-radius: var(--efr-radius) !important;
  background: var(--efr-panel) !important;
  color: var(--efr-text) !important;
  font: 400 17px/1.8 var(--efr-font);
  text-align: left;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) .efc-contact-center :where(strong, b),
body.ef-redesign .ef-cta__title,
body.ef-redesign .efr-legacy-cta :where(h2, h3) {
  color: var(--efr-white) !important;
  font-family: var(--efr-font) !important;
  font-weight: 700;
}

body.ef-redesign .efr-legacy-cta :where(h2, h3),
body.ef-redesign .ef-cta__title {
  margin: 0 0 16px;
  font-size: clamp(24px, 2.8vw, 32px) !important;
  line-height: 1.3;
}

body.ef-redesign .efr-legacy-cta__body,
body.ef-redesign .ef-cta__text {
  display: flow-root;
  max-width: 72ch;
  margin: 0 0 22px;
  color: var(--efr-text);
}

body.ef-redesign .ef-content:not(.ef-content--editorial) .efc-contact-center > a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  max-width: 100%;
  margin-top: 12px !important;
  padding: 12px 20px !important;
  border: 1px solid var(--efr-blue) !important;
  border-radius: 999px !important;
  background: var(--efr-blue) !important;
  color: var(--efr-bg-soft) !important;
  font: 700 15px/1.5 var(--efr-font);
  text-align: center;
  text-decoration: none !important;
  overflow-wrap: anywhere;
}

body.ef-redesign .ef-content:not(.ef-content--editorial) .efc-contact-center > a[href^="mailto:"] {
  background: transparent !important;
  color: var(--efr-blue) !important;
}

/* The nested telephone link retains an inline dark color from the contact card. */
body.ef-redesign .efc-contact-center a[href^="tel:"] {
  color: var(--efr-blue) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.2em;
}

body.ef-redesign .efc-contact-center a[href^="tel:"]:hover,
body.ef-redesign .efc-contact-center a[href^="tel:"]:focus-visible {
  color: var(--efr-white) !important;
}

body.ef-redesign .efc-contact-center a[href^="tel:"]:focus-visible {
  outline: 3px solid var(--efr-blue) !important;
  outline-offset: 3px;
}

/* One existing embedded About page defines its own light theme and full bleed. */
body.ef-redesign #embarque-floripa-sobre-page {
  --sky: var(--efr-blue);
  --sky-deep: var(--efr-blue);
  --cyan: var(--efr-blue);
  --carbon: var(--efr-panel);
  --carbon-mid: var(--efr-panel-hover);
  --light-gray: var(--efr-panel);
  --muted: var(--efr-muted);
  --border: var(--efr-border);
  color: var(--efr-text);
  font-family: var(--efr-font);
}

body.ef-redesign #embarque-floripa-sobre-page :where(.hero, .section) {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
}

body.ef-redesign #embarque-floripa-sobre-page :where(.section--light, .section--white, .stat-card, .beneficio-item, .destinos-card, .destino-tag) {
  background: var(--efr-panel) !important;
  color: var(--efr-text) !important;
  border-color: var(--efr-border);
}

body.ef-redesign #embarque-floripa-sobre-page :where(.section, .hero-content) {
  padding: clamp(32px, 5vw, 64px) clamp(16px, 3vw, 32px);
}

body.ef-redesign #embarque-floripa-sobre-page :where(.hero-eyebrow, .hero-subtitle, .hero h1, .hero-cta) {
  opacity: 1;
  animation: none;
  transform: none;
}

body.ef-redesign #embarque-floripa-sobre-page :where(.hero-eyebrow, .hero-subtitle, .hero-cta, .section-label, .stat-card .number, .stat-card .label, .quem-mini-badge) {
  font-family: var(--efr-font) !important;
}

body.ef-redesign #embarque-floripa-sobre-page :where(.hero-cta, .btn-primary) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  max-width: 100%;
  padding: 13px 26px;
  border: 1px solid var(--efr-blue);
  background: var(--efr-blue) !important;
  color: var(--efr-bg-soft) !important;
  font: 700 16px/1.5 var(--efr-font);
  text-decoration: none !important;
  text-align: center;
}

body.ef-redesign #embarque-floripa-sobre-page .btn-ghost {
  min-height: 46px;
  border-color: #52687e;
  color: var(--efr-white) !important;
  font: 700 16px/1.5 var(--efr-font);
  text-decoration: none !important;
}

body.ef-redesign #embarque-floripa-sobre-page .faq-question {
  min-height: 48px;
  color: var(--efr-white);
  font: 700 17px/1.6 var(--efr-font);
}

body.ef-redesign #embarque-floripa-sobre-page :where(.section-label, .stat-card .label, .quem-visual-tag, .quem-visual-text cite, .destino-tag) {
  font-family: var(--efr-font);
  font-size: 14px;
  color: var(--efr-muted);
}

/* Footer: a small editorial navigation, not the global commercial mega-menu. */
body.ef-redesign .ef-site-footer {
  clear: both;
  width: 100%;
  margin: 0;
  padding: 58px var(--efr-gutter) 26px;
  border-top: 1px solid var(--efr-border);
  background: var(--efr-bg-soft);
  color: var(--efr-text);
}

body.ef-redesign .ef-footer-grid {
  display: grid;
  grid-template-columns: 1.35fr 0.8fr 1fr;
  gap: 42px;
  padding-bottom: 34px;
}

body.ef-redesign .ef-footer-brand p {
  max-width: 38ch;
  margin: 18px 0 0;
  color: var(--efr-muted);
  font-size: 15px;
  line-height: 1.8;
}

body.ef-redesign .ef-footer-brand .ef-brand__name {
  color: var(--efr-white) !important;
  font-family: var(--efr-font) !important;
  text-decoration: none;
}

body.ef-redesign .ef-site-footer :where(h2, h3, h4) {
  margin: 0 0 17px;
  color: var(--efr-white);
  font: 700 17px/1.5 var(--efr-font);
  letter-spacing: 0;
}

body.ef-redesign .ef-footer-links :where(ul, ol),
body.ef-redesign .ef-footer-contact :where(ul, ol) {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.ef-redesign .ef-footer-links li,
body.ef-redesign .ef-footer-contact li {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.ef-redesign .ef-footer-links a,
body.ef-redesign .ef-footer-contact a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  max-width: 100%;
  padding-block: 7px;
  color: var(--efr-text) !important;
  font-family: var(--efr-font) !important;
  font-size: 15px;
  line-height: 1.6;
  text-decoration: none;
  overflow-wrap: anywhere;
}

body.ef-redesign .ef-footer-links a:hover,
body.ef-redesign .ef-footer-contact a:hover {
  color: var(--efr-blue) !important;
  text-decoration: underline;
}

body.ef-redesign .ef-footer-contact p {
  margin: 0 0 10px;
  color: var(--efr-muted);
  font-size: 15px;
  line-height: 1.7;
}

body.ef-redesign .ef-footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 28px;
  padding-top: 24px;
  border-top: 1px solid var(--efr-border);
  color: var(--efr-muted);
  font-size: 14px;
  line-height: 1.7;
}

body.ef-redesign .ef-footer-bottom p {
  margin: 0;
  color: inherit;
  font-size: inherit;
}

body.ef-redesign .ef-footer-bottom a {
  color: var(--efr-text) !important;
  font-family: var(--efr-font) !important;
  text-decoration: underline;
}

@media (min-width: 960px) {
  body.ef-redesign .ef-site-header > .ef-shell {
    grid-template-columns: minmax(0, 1fr) auto;
    row-gap: 6px;
  }

  body.ef-redesign .ef-nav-toggle { display: none !important; }
  body.ef-redesign .ef-primary-nav { display: block; grid-row: 2; }
  body.ef-redesign .ef-header-actions { grid-column: 2; grid-row: 1; justify-content: flex-end; }
  body.ef-redesign .ef-nav-list { justify-content: center; }
}

@media (min-width: 1200px) {
  body.ef-redesign .ef-site-header > .ef-shell {
    grid-template-columns: 230px minmax(0, 1fr) auto;
    gap: 22px;
  }

  body.ef-redesign .ef-primary-nav { grid-column: 2; grid-row: 1; }
  body.ef-redesign .ef-header-actions { grid-column: 3; }
  body.ef-redesign .ef-nav-list { gap: 3px 10px; }
  body.ef-redesign .ef-nav-list a { font-size: 14px; }
}

@media (max-width: 959px) {
  body.ef-redesign { --efr-header-offset: 110px; }
  body.ef-redesign .ef-site-header { padding-block: 11px; }
  body.ef-redesign .ef-nav-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 18px; }
  body.ef-redesign .ef-nav-list a { display: flex; padding: 11px 5px; font-size: 15px; }
  body.ef-redesign .ef-site-header.ef-nav-ready:not(.is-open) .ef-primary-nav { display: none; }
  body.ef-redesign .ef-site-header.ef-nav-ready:not(.is-open) .ef-header-actions { display: none; }
  body.ef-redesign .ef-site-header.is-open .ef-primary-nav { display: block; }
  body.ef-redesign .ef-site-header.is-open .ef-header-actions { display: flex; }
  body.ef-redesign .ef-site-header.is-open .ef-primary-nav { max-height: 55vh; overflow-y: auto; overscroll-behavior: contain; }
  body.ef-redesign .ef-hero { grid-template-columns: 1fr; gap: 32px; padding-top: 12px; }
  body.ef-redesign .ef-hero__content { max-width: 740px; }
  body.ef-redesign .ef-hero__intro { max-width: 60ch; }
  body.ef-redesign .ef-hero__media img { aspect-ratio: 16 / 9; max-height: 480px; }
  body.ef-redesign .ef-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
  body.ef-redesign .ef-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
  body.ef-redesign .ef-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 782px) {
  body.ef-redesign.admin-bar .ef-site-header { top: 46px; }
}

@media (max-width: 767px) {
  body.ef-redesign #main { padding-top: 26px; padding-bottom: 52px; }
  body.ef-redesign .ef-section { padding-block: 40px; }
  body.ef-redesign .ef-section__head { margin-bottom: 22px; }
  body.ef-redesign .ef-hero { padding-bottom: 40px; }
  body.ef-redesign .ef-content:not(.ef-content--editorial) { font-size: 17px; }
  body.ef-redesign .ef-content:not(.ef-content--editorial) table { display: block; overflow-x: auto; }
  body.ef-redesign .ef-content:not(.ef-content--editorial) :where(th, td) { padding: 10px 12px; }
  body.ef-redesign .ef-content:not(.ef-content--editorial) .fusion-fullwidth[style*="--awb-padding-top:60px"] { --awb-padding-top: 32px !important; }
  body.ef-redesign .ef-content:not(.ef-content--editorial) .fusion-fullwidth[style*="--awb-padding-bottom:60px"] { --awb-padding-bottom: 32px !important; }
  body.ef-redesign .ef-content:not(.ef-content--editorial) blockquote { padding: 20px; }
  body.ef-redesign .fusion-post-slideshow { margin-bottom: 26px; }
  body.ef-redesign .ef-site-footer { padding-top: 42px; }
  body.ef-redesign #embarque-floripa-sobre-page .quem-stat-block { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.ef-redesign #embarque-floripa-sobre-page .quem-visual { grid-template-columns: 1fr; gap: 24px; padding: 26px 20px; }
}

@media (max-width: 600px) {
  body.ef-redesign.admin-bar .ef-site-header { top: 0; }
  body.ef-redesign .ef-card-grid { grid-template-columns: 1fr; gap: 22px; }
  body.ef-redesign .ef-card__body { padding: 22px; }
  body.ef-redesign .ef-card__title { font-size: 22px !important; }
  body.ef-redesign .ef-hero h1 { font-size: clamp(34px, 9.2vw, 50px) !important; }
  body.ef-redesign .ef-hero__actions { align-items: stretch; }
  body.ef-redesign .ef-hero__actions .ef-button { flex: 1 1 170px; }
  body.ef-redesign .ef-footer-grid { grid-template-columns: 1fr; }
  body.ef-redesign .ef-footer-brand { grid-column: auto; }
  body.ef-redesign .ef-footer-bottom { align-items: flex-start; flex-direction: column; gap: 12px; }
  body.ef-redesign .ef-content:not(.ef-content--editorial) .alignleft,
  body.ef-redesign .ef-content:not(.ef-content--editorial) .alignright { float: none; display: block; margin: 20px auto; max-width: 100%; }
  body.ef-redesign .ef-search-form input[type="search"] { flex-basis: 100%; width: 100%; }
  body.ef-redesign .ef-search-form button { width: 100%; }
  body.ef-redesign .ef-content:not(.ef-content--editorial) .efc-contact-center > a { display: flex !important; width: 100%; margin-right: 0 !important; }
}

@media (max-width: 379px) {
  body.ef-redesign .ef-brand { column-gap: 8px; }
  body.ef-redesign .ef-brand__logo { width: 34px; height: 34px; }
  body.ef-redesign .ef-brand__name { font-size: 16px; }
  body.ef-redesign .ef-brand__tagline { font-size: 14px; }
  body.ef-redesign .ef-nav-toggle { padding-inline: 9px; }
  body.ef-redesign .ef-nav-list { grid-template-columns: 1fr; }
  body.ef-redesign .ef-hero h1 { font-size: 33px !important; }
}

@media (prefers-reduced-motion: reduce) {
  body.ef-redesign :where(.ef-button, .efr-button, .ef-card, .ef-nav-toggle, .ef-content:not(.ef-content--editorial) .fusion-button) { transition: none; }
  body.ef-redesign .ef-content:not(.ef-content--editorial) .fusion-animated { animation: none !important; opacity: 1 !important; }
  body.ef-redesign #embarque-floripa-sobre-page :where(.hero-horizon path, .hero-stars) { animation: none; }
  body.ef-redesign :where(.ef-home, .ef-hub, .ef-archive, .ef-search, .ef-not-found, .ef-content:not(.ef-content--editorial)) { scroll-behavior: auto; }
}

@media print {
  body.ef-redesign { background: #ffffff !important; color: #11151b !important; }
  body.ef-redesign .ef-site-header { position: static; }
  body.ef-redesign :where(#wrapper, #boxed-wrapper, #main, .ef-site-header, .ef-site-footer, .ef-card, .ef-hero, .ef-content:not(.ef-content--editorial) .fusion-fullwidth, .ef-content:not(.ef-content--editorial) .fusion-column-wrapper, .ef-content:not(.ef-content--editorial) .efc-contact-center, .efr-legacy-cta) { background: #ffffff !important; color: #11151b !important; box-shadow: none !important; }
  body.ef-redesign :where(.ef-home, .ef-hub, .ef-archive, .ef-search, .ef-not-found, .ef-site-header, .ef-site-footer, .ef-content:not(.ef-content--editorial), .efr-legacy-cta) :where(h1, h2, h3, h4, p, li, span, a, th, td, label, strong) { color: #11151b !important; }
  body.ef-redesign :is(.ef-site-header, .ef-site-footer, .ef-home, .ef-hub, .ef-archive, .ef-search, .ef-not-found) :is(h1, h2, h3, h4),
  body.ef-redesign .ef-card__title a,
  body.ef-redesign .ef-card__link,
  body.ef-redesign .ef-footer-brand .ef-brand__name,
  body.ef-redesign .ef-footer-links a,
  body.ef-redesign .ef-footer-contact a,
  body.ef-redesign .ef-footer-bottom a { color: #11151b !important; }
  body.ef-redesign .efc-contact-center a[href^="tel:"] { color: #11151b !important; }
  body.ef-redesign .ef-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.ef-redesign .ef-card { break-inside: avoid; }
}
