/**
 * Do Brazil Right base foundation.
 */

:root {
  --dbr-font-body: "Nunito Sans", Arial, sans-serif;
  --dbr-space-1: 4px;
  --dbr-space-2: 8px;
  --dbr-space-3: 12px;
  --dbr-space-4: 16px;
  --dbr-space-5: 20px;
  --dbr-space-6: 24px;
  --dbr-space-8: 32px;
  --dbr-space-10: 40px;
  --dbr-space-12: 48px;
  --dbr-space-16: 64px;
  --dbr-space-20: 80px;
  --dbr-space-24: 96px;
  --dbr-radius-sm: 6px;
  --dbr-radius-md: 8px;
  --dbr-radius-lg: 12px;
  --dbr-radius-xl: 18px;
  --dbr-radius-pill: 999px;
  --dbr-shadow-sm: 0 2px 8px rgba(46, 62, 80, 0.08);
  --dbr-shadow-md: 0 10px 30px rgba(46, 62, 80, 0.12);
  --dbr-shadow-lg: 0 22px 60px rgba(46, 62, 80, 0.18);
  --dbr-container-max: 1200px;
  --dbr-container-padding-desktop: 40px;
  --dbr-container-padding-tablet: 28px;
  --dbr-container-padding-mobile: 20px;
}

body {
  font-family: var(--dbr-font-body);
  color: var(--dbr-color-text, #333333);
  background: var(--dbr-color-background, #ffffff);
}

.dbr-container {
  width: min(
    100% - (var(--dbr-container-padding-mobile) * 2),
    var(--dbr-container-max)
  );
  margin-inline: auto;
}

@media (min-width: 768px) {
  .dbr-container {
    width: min(
      100% - (var(--dbr-container-padding-tablet) * 2),
      var(--dbr-container-max)
    );
  }
}

@media (min-width: 1024px) {
  .dbr-container {
    width: min(
      100% - (var(--dbr-container-padding-desktop) * 2),
      var(--dbr-container-max)
    );
  }
}

/* ==========================================================================
   DBR Components page (31033) fixes — approved 2026-08-04
   ========================================================================== */

/* Single footer: hide the legacy Divi #main-footer on the components page
   (the DBR home-footer block is the only footer there). */
body.page-id-31033 #main-footer {
  display: none;
}

/* No WhatsApp anywhere (decision 2026-08-04): the Divi top bar and secondary
   menu still ship WhatsApp links — hide them on the components page; the DBR
   home-header block provides its own WhatsApp-free top bar. */
body.page-id-31033 #top-header,
body.page-id-31033 #et-secondary-nav {
  display: none;
}

/* WPConsent cookie banner: discreet bar fixed at the bottom, never
   overlapping the page content. */
.wpconsent-banner-holder {
  position: fixed !important;
  inset: auto 0 0 0 !important;
  max-width: 520px !important;
  margin-inline: auto !important;
  border-radius: 12px 12px 0 0 !important;
  box-shadow: 0 -4px 24px rgba(46, 62, 80, 0.18) !important;
  z-index: 99999 !important;
}


/* Google Language Translator widget: hidden on the components page (mock has none). */
body.page-id-31033 #glt-translate-trigger,
body.page-id-31033 #flags,
body.page-id-31033 .tool-container {
  display: none !important;
}

body.page-id-31033 #wpconsent-root,
body.page-id-31033 .wpconsent-banner-holder {
  display: none !important;
}
body.page-id-31033 #wpadminbar {
  display: none !important;
}
body.admin-bar.page-id-31033 {
  padding-top: 0 !important;
}
body.page-id-31033 .dbr-container {
  --dbr-container-max: 1200px;
}
body.page-id-31033 .dbr-home-header__topbar-inner {
  min-height: 30px;
}
body.page-id-31033 .dbr-home-header__inner {
  min-height: 72px;
}
body.page-id-31033 .dbr-home-header__logo img {
  max-width: 142px;
}
body.page-id-31033 .dbr-home-header__nav-link {
  font-size: 0.68rem;
  letter-spacing: 0.01em;
}

body.page-id-31033 .dbr-home-hero {
  min-height: 390px;
  align-items: center;
}
body.page-id-31033 .dbr-home-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.42) 34%, rgba(0,0,0,.06) 72%);
}
body.page-id-31033 .dbr-home-hero__media {
  background-position: center 46%;
}
body.page-id-31033 .dbr-home-hero__content {
  padding-block: 48px;
}
body.page-id-31033 .dbr-home-hero__body {
  max-width: 700px;
}
body.page-id-31033 .dbr-home-hero__title {
  max-width: 700px;
  font-size: clamp(2.25rem, 3.8vw, 3.35rem);
}
body.page-id-31033 .dbr-home-hero__text {
  max-width: 430px;
  font-size: 1rem;
}
body.page-id-31033 .dbr-home-hero__btn {
  min-height: 44px;
  border-radius: 8px;
  text-transform: uppercase;
  font-size: .78rem;
}

body.page-id-31033 .dbr-carnival-packages {
  padding: 28px 0 24px;
}
body.page-id-31033 .dbr-carnival-packages__header {
  margin-bottom: 14px;
}
body.page-id-31033 .dbr-carnival-packages__track {
  max-width: 980px;
  gap: 16px;
}
body.page-id-31033 .dbr-carnival-packages__card {
  aspect-ratio: auto;
  display: flex;
  flex-direction: column;
  min-height: 321px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(25,46,72,.12);
  color: #374251;
}
body.page-id-31033 .dbr-carnival-packages__media {
  position: relative;
  inset: auto;
  display: block;
  flex: 0 0 140px;
  height: 140px;
  background-position: center;
}
body.page-id-31033 .dbr-carnival-packages__card:nth-child(1) .dbr-carnival-packages__media {
  background-position: center 20%;
}
body.page-id-31033 .dbr-carnival-packages__card:nth-child(2) .dbr-carnival-packages__media {
  background-position: right center;
}
body.page-id-31033 .dbr-carnival-packages__body {
  position: static;
  flex: 1;
  align-items: flex-start;
  gap: 10px;
  min-height: 181px;
  padding: 15px 18px 16px;
  text-shadow: none;
}
body.page-id-31033 .dbr-carnival-packages__title {
  color: #27364a;
  font-size: 1rem;
  line-height: 1.18;
}
body.page-id-31033 .dbr-carnival-packages__desc {
  display: block;
  color: #6f7478;
  font-size: .78rem;
  line-height: 1.45;
}
body.page-id-31033 .dbr-carnival-packages__price {
  color: #0b9fe2;
  font-size: .78rem;
  font-weight: 700;
}
body.page-id-31033 .dbr-carnival-packages__cta {
  min-height: 34px;
  padding-inline: 16px;
  border-radius: 999px;
  font-size: .72rem;
  text-transform: uppercase;
}
body.page-id-31033 .dbr-carnival-packages__dots {
  margin-top: 18px;
}
body.page-id-31033 .dbr-carnival-packages__header .dbr-section-header__title,
body.page-id-31033 .dbr-carnival-packages__header .dbr-section-header__text,
body.page-id-31033 .dbr-carnival-packages__dots {
  display: none;
}

body.page-id-31033 .dbr-carnival-countdown {
  padding: 32px 0 16px;
}
body.page-id-31033 .dbr-carnival-countdown__inner {
  position: relative;
  z-index: 1;
  min-height: 116px;
}
body.page-id-31033 .dbr-carnival-countdown__title {
  display: inline;
  margin: 0;
  padding: 0;
  color: #ffcd2a;
  font-size: 1.75rem;
  line-height: 1.1;
}
body.page-id-31033 .dbr-carnival-countdown__info {
  display: block;
}
body.page-id-31033 .dbr-carnival-countdown__date {
  display: inline;
  color: #ffffff;
  opacity: 1;
  margin-left: 8px;
  font-size: 1rem;
  line-height: 1.1;
}
body.page-id-31033 .dbr-carnival-countdown__eyebrow {
  display: block;
  margin: 0 0 10px;
  padding: 0;
  color: #ffffff;
  font-size: .68rem;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.page-id-31033 .dbr-carnival-countdown__value {
  font-size: 2.5rem;
  line-height: 1;
}
body.page-id-31033 .dbr-carnival-countdown__timer {
  gap: 30px;
  margin-right: 64px;
}
body.page-id-31033 .dbr-carnival-countdown__unit + .dbr-carnival-countdown__unit {
  border-left: 1px solid rgba(255,255,255,.2);
  padding-left: 45px;
}
body.page-id-31033 .dbr-carnival-countdown__caption {
  margin-top: 6px;
  font-size: .75rem;
  line-height: 1.1;
}

body.page-id-31033 .dbr-featured-experiences {
  padding: 22px 0 12px;
}
body.page-id-31033 .dbr-featured-experiences__grid {
  max-width: 960px;
  margin-inline: auto;
  gap: 14px;
}
body.page-id-31033 .dbr-featured-experiences__card {
  min-height: 156px;
  border-radius: 9px;
}
body.page-id-31033 .dbr-featured-experiences__media {
  aspect-ratio: auto;
  min-height: 56px;
  overflow: visible;
  background: transparent;
}
body.page-id-31033 .dbr-featured-experiences__icon {
  position: static;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  margin: 8px auto 6px;
}
body.page-id-31033 .dbr-featured-experiences__icon svg {
  width: 22px;
  height: 22px;
}
body.page-id-31033 .dbr-featured-experiences__body {
  align-items: center;
  padding: 4px 7px 12px;
  text-align: center;
}
body.page-id-31033 .dbr-featured-experiences__title {
  margin-bottom: 4px;
  font-size: .72rem;
  line-height: 1.2;
}
body.page-id-31033 .dbr-featured-experiences__text {
  margin-bottom: 0;
  font-size: .62rem;
  line-height: 1.3;
}
body.page-id-31033 .dbr-featured-experiences__link,
body.page-id-31033 .dbr-map-plan-cta__btn--secondary {
  display: none;
}

body.page-id-31033 .dbr-group-travel-cta {
  padding-block: 30px;
  background: #ffffff;
}
body.page-id-31033 .dbr-group-travel-cta__inner {
  grid-template-columns: 43% 57%;
  gap: 40px;
}
body.page-id-31033 .dbr-group-travel-cta__media {
  grid-column: 2;
  grid-row: 1;
  aspect-ratio: 1.55 / 1;
  border-radius: 8px;
}
body.page-id-31033 .dbr-group-travel-cta__content {
  grid-column: 1;
  grid-row: 1;
}
body.page-id-31033 .dbr-group-travel-cta__img {
  object-position: center;
}
body.page-id-31033 .dbr-group-travel-cta__title {
  font-size: 1.7rem;
}
body.page-id-31033 .dbr-group-travel-cta__text {
  font-size: .86rem;
  line-height: 1.45;
}
body.page-id-31033 .dbr-group-travel-cta__bullets {
  list-style: none;
  display: flex;
  flex-direction: column;
  margin-top: 0;
  gap: 7px;
  margin-bottom: 20px;
  padding-left: 0;
}
body.page-id-31033 .dbr-group-travel-cta__bullet {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .8rem;
}
body.page-id-31033 .dbr-group-travel-cta__check {
  color: #0b9fe2;
}
body.page-id-31033 .dbr-group-travel-cta__cta {
  min-height: 38px;
  padding-inline: 18px;
  font-size: .78rem;
}

body.page-id-31033 .dbr-trust-band {
  padding-block: 26px;
}
body.page-id-31033 .dbr-rio-highlights {
  padding: 30px 0 24px;
}
body.page-id-31033 .dbr-rio-highlights__header,
body.page-id-31033 .dbr-blog-teaser__header {
  margin-bottom: 14px;
}
body.page-id-31033 .dbr-rio-highlights__grid {
  gap: 10px;
  margin-bottom: 0;
}
body.page-id-31033 .dbr-rio-highlights__image {
  aspect-ratio: 1.35 / 1;
  border-radius: 7px;
}
body.page-id-31033 .dbr-rio-highlights__name {
  padding: 8px 4px 0;
  font-size: .72rem;
}
body.page-id-31033 .dbr-rio-highlights__actions,
body.page-id-31033 .dbr-blog-teaser__footer {
  display: none;
}

body.page-id-31033 .dbr-blog-teaser {
  padding: 26px 0 30px;
}
body.page-id-31033 .dbr-blog-teaser__grid {
  gap: 14px;
  margin-bottom: 26px;
}
body.page-id-31033 .dbr-blog-teaser__card {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  border-radius: 8px;
}
body.page-id-31033 .dbr-blog-teaser__media {
  min-height: 88px;
  aspect-ratio: auto;
  border-radius: 0;
}
body.page-id-31033 .dbr-blog-teaser__body {
  min-width: 0;
  padding: 10px 11px;
}
body.page-id-31033 .dbr-blog-teaser__category,
body.page-id-31033 .dbr-blog-teaser__excerpt {
  display: none;
}
body.page-id-31033 .dbr-blog-teaser__title {
  margin-bottom: 5px;
  font-size: .74rem;
  line-height: 1.25;
}
body.page-id-31033 .dbr-blog-teaser__link {
  margin-top: 0;
  font-size: .66rem;
  text-transform: uppercase;
}

body.page-id-31033 .dbr-testimonials {
  padding-block: 30px;
}
body.page-id-31033 .dbr-testimonials__card {
  border-radius: 8px;
  padding: 18px;
}
body.page-id-31033 .dbr-testimonials__card-stars span,
body.page-id-31033 .dbr-testimonials__stars span {
  background: #f4bd24;
}
body.page-id-31033 .dbr-testimonials__avatar {
  width: 38px;
  height: 38px;
  font-size: .72rem;
  overflow: hidden;
}
body.page-id-31033 .dbr-testimonials__avatar-img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

body.page-id-31033 .dbr-map-plan-cta {
  padding-block: 32px;
}
body.page-id-31033 .dbr-map-plan-cta__map {
  aspect-ratio: 1.7 / 1;
  border-radius: 12px;
  margin-right: 0;
  background-color: #cdeefa;
  background-image: radial-gradient(ellipse at 70% 55%, rgba(255,255,255,.95) 0 11%, transparent 11.5%), linear-gradient(145deg, transparent 0 35%, rgba(119,189,135,.55) 35.5% 50%, transparent 50.5%), repeating-linear-gradient(25deg, transparent 0 27px, rgba(255,255,255,.55) 28px 30px, transparent 31px 54px), repeating-linear-gradient(115deg, transparent 0 34px, rgba(255,255,255,.45) 35px 37px, transparent 38px 70px);
  box-shadow: 0 7px 22px rgba(47,112,147,.16);
}
body.page-id-31033 .dbr-map-plan-cta__title {
  font-size: 2rem;
}
body.page-id-31033 .dbr-map-plan-cta__btn {
  min-height: 42px;
  padding-inline: 20px;
  font-size: .78rem;
}

body.page-id-31033 .dbr-faq {
  padding-block: 30px;
}
body.page-id-31033 .dbr-faq__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #0b9fe2;
  color: #ffffff;
  border: 0;
}
body.page-id-31033 .dbr-faq__icon svg {
  width: 12px;
  height: 12px;
  stroke-width: 3;
}

body.page-id-31033 .dbr-final-cta::before,
body.page-id-31033 .dbr-final-cta::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 180px;
  opacity: .8;
  pointer-events: none;
  background-image: radial-gradient(circle, #ffcd2a 0 3px, transparent 4px), radial-gradient(circle, #ffffff 0 3px, transparent 4px), linear-gradient(65deg, transparent 45%, #ff4b78 46% 54%, transparent 55%), linear-gradient(-55deg, transparent 45%, #5bd4ff 46% 54%, transparent 55%);
  background-size: 52px 44px, 68px 58px, 46px 52px, 62px 64px;
  z-index: 1;
}
body.page-id-31033 .dbr-final-cta::before { left: 0; }
body.page-id-31033 .dbr-final-cta::after { right: 0; transform: scaleX(-1); }
body.page-id-31033 .dbr-final-cta__content { position: relative; z-index: 2; }
body.page-id-31033 .dbr-final-cta {
  min-height: 190px;
}
body.page-id-31033 .dbr-final-cta__content {
  padding-block: 42px;
}
body.page-id-31033 .dbr-final-cta__title {
  font-size: 1.75rem;
  max-width: 520px;
}
body.page-id-31033 .dbr-final-cta__actions {
  gap: 14px;
}
body.page-id-31033 .dbr-final-cta__btn {
  min-height: 42px;
  font-size: .78rem;
}

body.page-id-31033 .dbr-home-footer {
  padding-block: 34px 18px;
}
body.page-id-31033 .dbr-home-footer__column-heading {
  font-size: .72rem;
}
body.page-id-31033 .dbr-home-footer__brand-tagline,
body.page-id-31033 .dbr-home-footer__link,
body.page-id-31033 .dbr-home-footer__contact-item,
body.page-id-31033 .dbr-home-footer__newsletter-text {
  font-size: .76rem;
}
body.page-id-31033 .dbr-home-footer__badge {
  display: none !important;
}

@media (min-width: 768px) {
  body.page-id-31033 .dbr-home-hero__body {
    margin-left: 0;
  }
}

@media (max-width: 767px) {
  body.page-id-31033 #wpadminbar { display: none !important; }
  body.page-id-31033 .dbr-group-travel-cta__media,
  body.page-id-31033 .dbr-group-travel-cta__content {
    grid-column: auto;
    grid-row: auto;
  }
  body.page-id-31033 .dbr-group-travel-cta__inner {
    grid-template-columns: 1fr;
  }
}

/* Compact eyebrow-led section rhythm from the approved redesign mock. */
body.page-id-31033 .dbr-section-header {
  margin-bottom: 18px;
}
body.page-id-31033 .dbr-section-header__eyebrow,
body.page-id-31033 .dbr-trust-band__eyebrow {
  margin: 0;
  color: #0b9fe2;
  font-size: .68rem;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.page-id-31033 .dbr-trust-band__eyebrow {
  color: #ffffff;
  text-align: center;
  margin-bottom: 22px;
}
body.page-id-31033 .dbr-carnival-packages__header,
body.page-id-31033 .dbr-featured-experiences__header,
body.page-id-31033 .dbr-rio-highlights__header,
body.page-id-31033 .dbr-blog-teaser__header,
body.page-id-31033 .dbr-testimonials__header,
body.page-id-31033 .dbr-map-plan-cta__header,
body.page-id-31033 .dbr-faq__header {
  margin-bottom: 14px;
}
body.page-id-31033 .dbr-testimonials__card {
  gap: 10px;
}
body.page-id-31033 .dbr-testimonials__card-top {
  margin-top: auto;
}
body.page-id-31033 .dbr-testimonials__date {
  display: none;
}
body.page-id-31033 .dbr-final-cta__btn--secondary {
  border: 1px solid rgba(255,255,255,.85);
  background: transparent;
  color: #ffffff;
}
body.page-id-31033 .dbr-home-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  /* The components mock uses the warm Sambadrome scene, not the blue
     promotional hero used by the default home page. */
  background-image: url('https://stage.dobrazilright.com/wp-content/uploads/2026/05/Carnival_Parade_Tickets.png') !important;
  background-position: center 38% !important;
}
body.page-id-31033 .dbr-home-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(7, 9, 24, .68) 0%, rgba(67, 0, 43, .34) 45%, rgba(149, 0, 48, .24) 100%);
  mix-blend-mode: multiply;
  pointer-events: none;
}
body.page-id-31033 .dbr-home-hero__content {
  position: relative;
  z-index: 1;
}

body.page-id-31033 .dbr-final-cta__btn--secondary:hover,
body.page-id-31033 .dbr-final-cta__btn--secondary:focus-visible {
  background: #ffffff;
  color: #123d5c;
}

body.page-id-31033 .dbr-carnival-countdown__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "info timer" "cta cta";
  align-items: center;
  column-gap: 24px;
  row-gap: 19px;
  max-width: 980px;
  min-height: 116px;
}
body.page-id-31033 .dbr-carnival-countdown__info { grid-area: info; }
body.page-id-31033 .dbr-carnival-countdown__timer { grid-area: timer; }
body.page-id-31033 .dbr-carnival-countdown__cta {
  grid-area: cta;
  justify-self: center;
  margin-top: 0;
  min-width: 257px;
  min-height: 36px;
  padding: 0 30px;
  border-radius: 7px;
  font-size: .72rem;
  line-height: 1;
  text-transform: uppercase;
}
body.page-id-31033 .dbr-carnival-countdown::before,
body.page-id-31033 .dbr-carnival-countdown::after {
  width: 160px;
  opacity: .82;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cg fill='none' stroke-linecap='round' stroke-width='3'%3E%3Cpath stroke='%23ff4b83' d='M22 18c22 8-20 20 2 31s-18 18 1 29-14 18 2 28'/%3E%3Cpath stroke='%23ffcd2a' d='M82 12c17 8-12 18 3 27s-10 20 4 30-9 19 2 30'/%3E%3Cpath stroke='%2349d3ff' d='M132 35c14 7-11 17 2 26s-9 18 2 28'/%3E%3C/g%3E%3Cg fill='%23ffcd2a'%3E%3Ccircle cx='16' cy='48' r='3'/%3E%3Ccircle cx='53' cy='22' r='2.5'/%3E%3Ccircle cx='116' cy='72' r='3'/%3E%3C/g%3E%3Cg fill='%2349d3ff'%3E%3Ccircle cx='42' cy='84' r='2.5'/%3E%3Ccircle cx='145' cy='18' r='2.5'/%3E%3C/g%3E%3Cg fill='%23ff4b83'%3E%3Ccircle cx='96' cy='112' r='2.5'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 160px 160px;
  background-repeat: repeat-y;
}
body.page-id-31033 .dbr-featured-experiences__image {
  background: #ffffff;
  aspect-ratio: auto;
  min-height: 86px;
}
body.page-id-31033 .dbr-featured-experiences__icon {
  width: 64px;
  height: 64px;
  flex-basis: 64px;
  margin: 8px auto 6px;
  border: 1px solid #0b9fe2;
  background: #ffffff;
  color: #0b9fe2;
}
body.page-id-31033 .dbr-featured-experiences__icon svg {
  width: 32px;
  height: 32px;
}

@media (max-width: 767px) {
  body.page-id-31033 .dbr-carnival-countdown__inner {
    grid-template-columns: 1fr;
    grid-template-areas: "info" "timer" "cta";
  }
  body.page-id-31033 .dbr-carnival-countdown__timer { justify-self: start; }
}
