/**
 * style-event-nordeste.css
 * CSS completo para páginas do evento Confut Nordeste (content-events-pattern.php).
 * Carregado quando $event_slug === 'nordeste'. Substitui style-event.css + confut-nordeste.css.
 */

/* ========== 1. Variáveis (scheme + tema) ========== */
* {
  --primary-color: #a70404;
  --primary-color-rgb: 167, 4, 4;
  /* Event theme skins (confut-*.css) sobrescrevem estes */
  --event-bg: #ffffff;
  --event-text: #111111;
  --event-border: rgba(167, 4, 4, 0.16);
  --event-font: "Exo 2", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bg-dark-1: #240808;
  --bg-dark-2: #3a0d0d;
  --bg-dark-3: #180606;
  --bg-dark-1-rgb: 36, 8, 8;
  --body-font: "Exo 2", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --heading-font: "Exo 2", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --body-font-color-dark: rgba(255, 255, 255, .72);
  --rounded-1: 12px;
  --btn-color: #ffffff;
  --btn-font-family: var(--body-font);
  --btn-font-size: 15px;
  --btn-font-weight: 600;
  --btn-padding: 10px 28px;
  --btn-rounded: 999px;
  --btn-text-decoration: none;
  --btn-text-transform: uppercase;
}

/* Nordeste brand variables */
:root {
  --confut-nordeste-primary: #a70404;
  --confut-nordeste-secondary: #ff9800;
  --confut-nordeste-primary-dark: #7a0404;
  --confut-nordeste-white: #ffffff;
}

.bg-color-nordeste,
a.btn-main.bg-color-nordeste,
.btn-main.bg-color-nordeste {
  background: #a70404 !important;
  background-image: none !important;
  background-color: #a70404 !important;
  border-color: #a70404 !important;
  color: #ffffff !important;
}
a.btn-main.bg-color-nordeste:hover,
  .btn-main.bg-color-nordeste:hover {
  background: #ff9800 !important;
  background-image: none !important;
  background-color: #ff9800 !important;
  border-color: #ff9800 !important;
  color: #ffffff !important;
}

/* Nordeste theme wrapper for the page */
.confut-nordeste-theme {
  --primary-color: var(--confut-nordeste-primary);
  --primary-color-rgb: 167, 4, 4;
  --event-bg: var(--confut-nordeste-white);
  --event-text: #111111;
  --event-border: rgba(167, 4, 4, 0.16);
  --event-font: "Exo 2", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  font-family: var(--event-font);
  color: var(--event-text);
  background-color: var(--event-bg);
}

  /* ========== 2. Cores e fundos ========== */
  .bg-color { background: var(--primary-color) !important; }
  .bg-dark, .bg-dark-1 { background-color: var(--bg-dark-1) !important; }
  .bg-dark-2 { background-color: var(--bg-dark-2) !important; }
  .bg-dark-3 { background-color: var(--bg-dark-3) !important; }
  /* Bloco de conteúdo com fundo branco (a partir da seção Advanced Features em content-events-pattern) */
  #content .event-content-white { background-color: #ffffff !important; color: #35404e; }
  #content .event-content-white section:not(.bg-dark):not(.section-dark):not(.jarallax):not(.bg-color):not(.sudamericana-newsletter):not(.nordeste-venue-showcase) { background-color: #ffffff !important; }
  #content .event-content-white h1, #content .event-content-white h2, #content .event-content-white h3, #content .event-content-white h4, #content .event-content-white h5, #content .event-content-white h6 { color: #222; margin-bottom: 60px }
  #content .event-content-white p, #content .event-content-white li { color: #35404e; }
  .id-color { color: var(--primary-color); }
  .rounded-1 {
    border-radius: var(--rounded-1) !important;
    -moz-border-radius: var(--rounded-1) !important;
    -webkit-border-radius: var(--rounded-1) !important;
  }
  
  /* ========== 3. Texto claro / tema escuro ========== */
  .text-light, .text-light p { color: var(--body-font-color-dark); }
  .text-light h1, .text-light h2, .text-light h3, .text-light h4, .text-light h5, .text-light h6 { color: #fff; }
  .text-white { color: #fff; }
  
  /* ========== 4. Botões ========== */
  a {
    text-decoration: none;
  }
  
  .de_light a {
    color: #888;
  }
  
  .de_light a:hover {
    color: #555;
  }
  
  a.btn-text {
    text-decoration: none;
    display: inline-block;
    color: #111;
    font-weight: 600;
    padding: 0;
  }
  
  a.btn-text:after {
    font-family: FontAwesome;
    content: "\f054";
    padding-left: 10px;
  }
  
  a.btn-text {
    color: #fff;
  }
  
  a.btn-big {
    font-size: 14px;
    color: #eceff3;
    letter-spacing: 1px;
    line-height: normal;
    font-weight: bold;
    text-transform: uppercase;
    border: solid 1px #fff;
    padding: 10px 30px 10px 30px;
  }
  
  a.btn-big:after {
    font-family: FontAwesome;
    content: "\f054";
    margin-left: 20px;
  }
  
  a.btn,
  .btn {
    position: relative;
    z-index: 1;
    overflow: hidden;
  }
  
  a.btn:before {
    content: "";
    background: rgba(0, 0, 0, 0);
    width: 0;
    height: 100%;
    position: absolute;
    z-index: -1;
  }
  
  a.btn-fx:after {
    font-family: FontAwesome;
    content: "\f178";
    margin-left: 15px;
    position: absolute;
    right: -20px;
    margin-top: 0px;
  }
  
  a.btn-fx {
    font-size: 14px;
    color: #eceff3;
    letter-spacing: 1px;
    line-height: normal;
    font-weight: bold;
    text-transform: uppercase;
    border: solid 1px #fff;
    padding: 10px 30px 10px 30px;
  }
  
  a.btn-fx:hover {
    padding-left: 20px;
    padding-right: 40px;
  }
  
  a.btn-fx:before {
    width: 0;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
  }
  
  a.btn-fx:hover:after {
    right: 15px;
  }
  
  a.btn-fx:hover:before {
    width: 100%;
    background: rgba(0, 0, 0, 1);
  }
  
  a.btn-fx.light:hover:before {
    width: 100%;
    background: rgba(255, 255, 255, 1);
  }
  
  .btn-fullwidth {
    display: block;
    width: 100%;
  }
  
  a.btn-slider {
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    line-height: normal;
    text-decoration: none;
    text-transform: uppercase;
    border: solid 2px #fff;
    padding: 10px 30px 10px 30px;
    border-radius: 60px;
  }
  
  a.btn-slider:hover {
    color: #222;
    background: #fff;
    border-color: #000;
    border: solid 2px #fff;
  }
  
  a.btn-main:hover,
  .btn-main:hover {
    color: #fff;
    -webkit-box-shadow: 2px 2px 20px 0px rgba(var(--primary-color-rgb), 0.5);
    -moz-box-shadow: 2px 2px 20px 0px rgba(var(--primary-color-rgb), 0.5);
    box-shadow: 2px 2px 20px 0px rgba(var(--primary-color-rgb), 0.5);
  }
  
  a.btn-slider:hover:after {
    color: #222;
  }
  
  a.btn-id,
  a.btn-id:hover {
    border: none;
  }
  
  a.btn-light.btn-id {
    color: #222;
  }
  
  a.btn-dark.btn-id {
    color: #fff;
  }
  
  .btn-main.btn-small {
    padding: 5px 20px 5px 20px;
    font-weight: bold;
    text-transform: uppercase;
  }
  
  .btn-fx.btn-main {
    text-transform: normal;
  }
  
  a.btn-bg-dark {
    background: #222;
  }
  
  a.btn-text-light {
    color: #fff;
  }
  
  .btn-icon-left i {
    margin-right: 12px;
    color: #fff;
  }
  
  .btn-add_to_cart,
  a.btn-add_to_cart {
    border: solid 1px #bbb;
    font-size: 12px;
    border-radius: 0;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    padding: 3px;
    padding-left: 40px;
    padding-right: 20px;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    color: #555;
  }
  
  .btn-add_to_cart:before,
  a.btn-add_to_cart:before {
    font-family: "FontAwesome";
    content: "\f07a";
    position: absolute;
    left: 20px;
  }
  
  a.btn-main,
  a.btn-main:active,
  a.btn-main:focus,
  a.btn-main:visited,
  .btn-main,
  input[type=button].btn-main,
  a.btn-line,
  #mainmenu li ul.mega a.btn-main {
    display: inline-block;
    font-family: var(--title-font);
    text-align: center;
    color: #fff;
    outline: 0;
    font-weight: bold;
    text-decoration: none;
    padding: 2px 20px 2px 20px;
    font-size: 14px;
    border: none;
    text-transform: uppercase;
    border-radius:60px;
    -moz-border-radius:60px;
    -webkit-border-radius:60px;
  }
  
  a.btn-main img {
    width: 24px;
    margin-right: 10px;
    margin-top: -2px;
  }
  
  a.btn-main.big{
    font-size: 30px;
    padding: 20px 30px;
  }
  
  a.btn-sc {
    display: inline-block;
    font-family: var(--title-font);
    font-weight: bold;
    padding: 6px;
    font-size: 14px;
    color: #222;
    border-radius: 30px;
    -moz-border-radius: 30px;
    -webkit-border-radius: 30px;
    background: #f2f2f2;
  }
  
  a.btn-sc img {
    width: 20px;
    margin-top: -4px;
    margin-right: 8px;
  }
  
  a.btn-line,
  a.btn-line:hover {
    background: none;
    color: #35404e;
    border: solid 2px var(--tertiary-color);
  }
  
  a.btn-line:hover {
    color: #ffffff;
  }
  
  header:not(.header-light) a.btn-line,
  .dark-scheme a.btn-line,
  .dark-schem a.btn-line:hover {
    color: #ffffff;
  }
  
  a.btn-main.btn-white {
    background: #ffffff;
  }
  
  header a.btn-main i {
    display: none;
  }
  
  .col-right a.btn-main {
    font-size: 14px;
    text-transform: none;
  }
  
  a.btn-border {
    border: solid 2px rgba(255, 255, 255, .3);
    border-radius: 0px;
    -moz-border-radius: 0px;
    -webkit-border-radius: 0px;
    min-width: 120px;
    outline: 0;
    font-weight: bold;
    text-decoration: none;
    padding: 10px 30px;
    min-width: 120px;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 2px;
  }
  
  a.btn-border:hover {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0);
    margin-top: -2px;
    margin-bottom: 2px;
    box-sizing: border-box
  }
  
  a.btn-border.light {
    border: solid 1px #ffffff;
    color: #ffffff;
  }
  
  a.btn-border.light:hover {
    background: #ffffff;
  }
  
  a.btn-border:hover a {
    color: #ffffff !important;
  }
  
  .d-btn-close {
    color: #ffffff;
    cursor: poInter;
    text-align: center;
    display: block;
    text-align: center;
    width: 60px;
    height: 60px;
    background: #333;
    font-size: 32px;
    font-weight: bold;
    text-decoration: none;
    margin: 0 auto;
    padding-top: 12px;
    position: absolute;
    left: 0;
    right: 0;
  }
  
  a.btn-link {
    display: block;
    text-decoration: none;
    margin-top: 10px;
  }
  
  .cover a.btn-link:hover {
    color: #fff;
  }
  
  .play-button {
    border-radius: 60px;
    -moz-border-radius: 60px;
    -webkit-border-radius: 60px;
    color: #fff;
    text-decoration: none;
    border: solid 5px rgba(255, 255, 255, .3);
    display: inline-block;
    text-align: center;
    width: 80px;
    height: 80px;
    padding-top: 22px;
    padding-left: 5px;
  }
  
  .play-button:before {
    font-family: "FontAwesome";
    font-size: 20px;
    content: "\f04b";
    position: relative;
    color: #fff;
  }
  
  .play-button:hover {
    border: solid 5px rgba(255, 255, 255, 1);
  }
  
  .play-button.dark {
    color: #222;
    border: solid 5px rgba(0, 0, 0, .1);
  }
  
  .play-button.dark:before {
    color: #222;
  }
  
  .play-button.dark:hover {
    border: solid 5px rgba(0, 0, 0, .5);
  }
  
  .text-light .play-button {
    border-radius: 60px;
    -moz-border-radius: 60px;
    -webkit-border-radius: 60px;
    color: #fff;
    text-decoration: none;
    border: solid 5px rgba(255, 255, 255, .3);
    display: inline-block;
    text-align: center;
    width: 80px;
    height: 80px;
    padding-top: 22px;
    padding-left: 5px;
  }
  
  .text-light .play-button:before {
    font-family: "FontAwesome";
    font-size: 20px;
    content: "\f04b";
    position: relative;
    color: #fff;
  }
  
  .text-light .play-button.dark {
    color: #fff;
    border: solid 5px rgba(255, 255, 255, .3);
  }
  
  .text-light .play-button.dark:before {
    color: #fff;
  }
  
  .text-light .play-button.dark:hover {
    border: solid 5px rgba(255, 255, 255, 1);
  }
  
  /* ========== 5. Espaçadores ========== */
  .spacer-single { width: 100%; height: 15px; display: block; clear: both; }
  .spacer-double { width: 100%; height: 30px; display: block; clear: both; }
  
  /* ========== 6. Subtitle ========== */
  .subtitle {
    position: relative;
    display: inline-block;
    font-size: 12px;
    font-weight: 500;
    font-family: var(--heading-font);
    letter-spacing: 10px;
    text-transform: uppercase;
    line-height: 1.5em;
    margin-bottom: 20px;
    padding: 6px 0 3px 0;
    border-radius: 3px;
  }
  .subtitle:before, .subtitle:after {
    content: '';
    position: absolute;
    width: 50%; height: 2px;
    background: var(--primary-color);
    left: 0; bottom: 0;
  }
  .subtitle:after { bottom: auto; left: auto; top: 0; right: 0; }
  .dark-scheme .subtitle, .text-light .subtitle { color: #fff; }
  .text-light .subtitle { border-color: rgba(255, 255, 255, .5); }
  
  /* ========== 7. Hero Swiper (overrides do theme) ========== */
  .swiper { background: var(--bg-dark-1); }
  .swiper, .sw-overlay {
    position: absolute;
    width: 100%; height: 100%;
    left: 0; top: 0;
  }
  .swiper-slide { position: relative; background: var(--bg-dark-1); }
  .sw-overlay {
    background: linear-gradient(0deg, rgba(var(--bg-dark-1-rgb), .75) 0%, rgba(var(--bg-dark-1-rgb), .75) 50%);
  }
  .swiper-inner {
    display: block;
    position: absolute;
    top: 0; width: 100%; height: 100%;
  }
  .swiper-button-next, .swiper-button-prev { color: #fff; }
  .swiper-button-next:after, .swiper-button-prev:after { font-size: 24px; }
  .swiper-button-next { right: 20px; }
  .swiper-button-prev { left: 20px; }
  
  /* ========== 8. Bordas gradiente e overlay ========== */
  .gradient-edge-top {
    z-index: 1;
    position: absolute;
    top: 0; width: 100%;
    height: 30%;
    background: linear-gradient(180deg, rgba(var(--bg-dark-1-rgb), 1) 0%, rgba(var(--bg-dark-1-rgb), 0) 100%);
  }
  .gradient-edge-bottom {
    z-index: 1;
    position: absolute;
    bottom: 0; width: 100%;
    height: 30%;
    background: linear-gradient(0deg, rgba(var(--bg-dark-1-rgb), 1) 0%, rgba(var(--bg-dark-1-rgb), 0) 100%);
  }
  .gradient-edge-bottom.color {
    background: linear-gradient(0deg, rgba(var(--primary-color-rgb), 1) 0%, rgba(var(--primary-color-rgb), 0) 100%);
  }
  .bg-blur {
    background: rgba(0, 0, 0, .15);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
  
  /* ========== 9. Contador (de_count) e rating ========== */
  .de_count { transition: all 0.3s ease; }
  .de-rating-ext { font-size: 14px; }
  .de-rating-ext i { color: #F2B827; }
  .de-rating-ext .d-val { color: #fff; margin-right: 10px; }
  
  /* ========== 10. Accordion FAQ (home-1 usa .accordion-section-*) ========== */
  .accordion-section-title,
  .faq-accordion-section-title {
    color: #35404e;
    width: 100%;
    padding: 15px 0;
    cursor: pointer;
    font-family: var(--body-font);
    display: inline-block;
    font-size: 17px;
    transition: all linear 0.5s;
    text-decoration: none;
    font-weight: 600;
    border-bottom: solid 1px #ddd;
  }
  .dark-scheme .accordion-section-title,
  .dark-scheme .faq-accordion-section-title,
  .text-light .accordion-section-title,
  .text-light .faq-accordion-section-title {
    color: #fff;
    border-bottom: solid 1px rgba(255, 255, 255, .4) !important;
  }
  .accordion-section-title:before,
  .faq-accordion-section-title:before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f107";
    float: right;
    color: var(--bg-dark-1);
    padding: 0 8px;
    font-size: 15px;
    border-radius: 8px;
    width: 30px;
    text-align: center;
  }
  .dark-scheme .accordion-section-title:before,
  .dark-scheme .faq-accordion-section-title:before,
  .text-light .accordion-section-title:before,
  .text-light .faq-accordion-section-title:before { color: #fff; }
  .accordion-section-title.active:before,
  .faq-accordion-section-title.active:before { content: "\f106"; }
  .accordion-section-title.active,
  .faq-accordion-section-title.active { margin-bottom: 0; text-decoration: none; }
  .accordion-section-title:hover,
  .faq-accordion-section-title:hover { text-decoration: none; }
  .accordion-section-content,
  .faq-accordion-section-content {
    padding-top: 15px;
    padding-bottom: 5px;
    display: none;
    margin-bottom: 10px;
  }
  .accordion.s2 .accordion-section-title,
  .accordion.s2 .faq-accordion-section-title { border: none; border-bottom: solid 1px #ddd; }
  
  /* ========== 11. Hover effects ========== */
  .hover-op-0 { opacity: 1; }
  .hover:hover .hover-op-0 { opacity: 0; }
  .hover-op-1, .hover-op-05 { opacity: 0; }
  .hover:hover .hover-op-1 { opacity: 1; }
  .hover:hover .hover-op-05 { opacity: .5; }
  .hover:hover .hover-scale-1-1 { transform: scale(1.1); }
  .hover-mt-40 { margin-top: 40px; }
  .hover:hover .hover-mt-40 { margin-top: 0; }
  
  /* ========== 12. scaleIn (imagens) ========== */
  @-webkit-keyframes scaleIn {
    from { opacity: 0; -webkit-transform: scale3d(1.5, 1.5, 1.5); transform: scale3d(1.5, 1.5, 1.5); }
    100% { opacity: 1; -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); }
  }
  @keyframes scaleIn {
    from { opacity: 0; -webkit-transform: scale3d(1.5, 1.5, 1.5); transform: scale3d(1.5, 1.5, 1.5); }
    100% { opacity: 1; -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); }
  }
  .scaleIn { -webkit-animation-name: scaleIn; animation-name: scaleIn; }
  
  /* ========== 13. Utilidades (posição, z-index, tamanhos) ========== */
  .abs{ position:absolute; }

  /* border-radius */
  .rounded-5px{ border-radius:5px; -moz-border-radius:5px; -webkit-border-radius:5px; }
  .rounded-10px{ border-radius:10px; -moz-border-radius:10px; -webkit-border-radius:10px; }
  .rounded-20px{ border-radius:20px; -moz-border-radius:20px; -webkit-border-radius:20px; }
  
  /* height */
  .h-10{height: 10%}
  .h-20{height: 20%}
  .h-30{height: 30%}
  .h-40{height: 40%}
  .h-50{height: 50%}
  .h-60{height: 60%}
  .h-70{height: 70%}
  .h-80{height: 80%}
  .h-90{height: 90%}
  .h-100{height: 100%}
  
  /* width */
  .w-10{width: 10%}
  .w-20{width: 20%}
  .w-30{width: 30%}
  .w-40{width: 40%}
  .w-50{width: 50%}
  .w-60{width: 60%}
  .w-70{width: 70%}
  .w-80{width: 80%}
  .w-90{width: 90%}
  .w-100{width: 100%}
  
  /* position top % */
  .top-10{top: 10%}
  .top-20{top: 20%}
  .top-30{top: 30%}
  .top-40{top: 40%}
  .top-50{top: 50%}
  .top-60{top: 60%}
  .top-70{top: 70%}
  .top-80{top: 80%}
  .top-90{top: 90%}
  .top-100{top: 100%}
  
  /* position top px */
  .top-10px{top: 10px}
  .top-20px{top: 20px}
  .top-30px{top: 30px}
  .top-40px{top: 40px}
  .top-50px{top: 50px}
  .top-60px{top: 60px}
  .top-70px{top: 70px}
  .top-80px{top: 80px}
  .top-90px{top: 90px}
  .top-100px{top: 100px}
  
  /* position top px */
  .bottom-10px{bottom: 10px}
  .bottom-20px{bottom: 20px}
  .bottom-30px{bottom: 30px}
  .bottom-40px{bottom: 40px}
  .bottom-50px{bottom: 50px}
  .bottom-60px{bottom: 60px}
  .bottom-70px{bottom: 70px}
  .bottom-80px{bottom: 80px}
  .bottom-90px{bottom: 90px}
  .bottom-100px{bottom: 100px}
  
  /* position bottom % */
  .bottom-10{bottom: 10%}
  .bottom-20{bottom: 20%}
  .bottom-30{bottom: 30%}
  .bottom-40{bottom: 40%}
  .bottom-50{bottom: 50%}
  .bottom-60{bottom: 60%}
  .bottom-70{bottom: 70%}
  .bottom-80{bottom: 80%}
  .bottom-90{bottom: 90%}
  .bottom-100{bottom: 100%}
  
  /* position left % */
  .start-10{left: 10%}
  .start-20{left: 20%}
  .start-30{left: 30%}
  .start-40{left: 40%}
  .start-50{left: 50%}
  .start-60{left: 60%}
  .start-70{left: 70%}
  .start-80{left: 80%}
  .start-90{left: 90%}
  .start-100{left: 100%}
  
  /* position left px */
  .start-10px{left: 10px}
  .start-20px{left: 20px}
  .start-30px{left: 30px}
  .start-40px{left: 40px}
  .start-50px{left: 50px}
  .start-60px{left: 60px}
  .start-70px{left: 70px}
  .start-80px{left: 80px}
  .start-90px{left: 90px}
  .start-100px{left: 100px}
  
  /* position right % */
  .end-10{right: 10%}
  .end-20{right: 20%}
  .end-30{right: 30%}
  .end-40{right: 40%}
  .end-50{right: 50%}
  .end-60{right: 60%}
  .end-70{right: 70%}
  .end-80{right: 80%}
  .end-90{right: 90%}
  .end-100{right: 100%}
  
  /* position right px */
  .end-10px{right: 10px}
  .end-20px{right: 20px}
  .end-30px{right: 30px}
  .end-40px{right: 40px}
  .end-50px{right: 50px}
  .end-60px{right: 60px}
  .end-70px{right: 70px}
  .end-80px{right: 80px}
  .end-90px{right: 90px}
  .end-100px{right: 100px}
  
  /* font-size px */
  .fs-12{font-size: 12px}
  .fs-14{font-size: 14px}
  .fs-15{font-size: 15px}
  .fs-16{font-size: 16px}
  .fs-18{font-size: 18px}
  .fs-20{font-size: 20px}
  .fs-24{font-size: 24px}
  .fs-28{font-size: 28px}
  .fs-30{font-size: 30px}
  .fs-32{font-size: 32px}
  .fs-36{font-size: 36px}
  .fs-40{font-size: 40px}
  .fs-42{font-size: 42px}
  .fs-48{font-size: 48px}
  .fs-56{font-size: 56px}
  .fs-60{font-size: 60px}
  .fs-64{font-size: 64px}
  .fs-72{font-size: 72px}
  .fs-84{font-size: 84px}
  .fs-96{font-size: 96px}
  .fs-120{font-size: 120px}
  .fs-150{font-size: 150px}
  .fs-200{font-size: 200px}
  .fs-250{font-size: 250px}
  .fs-300{font-size: 300px}
  .fs-350{font-size: 350px}
  .fs-400{font-size: 400px}
  .fs-450{font-size: 450px}
  .fs-500{font-size: 500px}
  
  /* font-weight */
  .fw-100{font-weight: 100;}
  .fw-200{font-weight: 200;}
  .fw-400{font-weight: 300;}
  .fw-400{font-weight: 400;}
  .fw-500{font-weight: 500;}
  .fw-600{font-weight: 600;}
  .fw-700{font-weight: 700;}
  .fw-800{font-weight: 800;}
  .fw-bold{font-weight: bold;}
  
  /* margin left px */
  .ml-10{margin-left: 10px}
  .ml-20{margin-left: 20px}
  .ml-30{margin-left: 30px}
  .ml-40{margin-left: 40px}
  .ml-50{margin-left: 50px}
  .ml-60{margin-left: 60px}
  .ml-70{margin-left: 70px}
  .ml-80{margin-left: 80px}
  .ml-90{margin-left: 90px}
  .ml-100{margin-left: 100px}
  
  /* padding left px */
  .pl-10{padding-left: 10px}
  .pl-20{padding-left: 20px}
  .pl-30{padding-left: 30px}
  .pl-40{padding-left: 40px}
  .pl-50{padding-left: 50px}
  .pl-60{padding-left: 60px}
  .pl-70{padding-left: 70px}
  .pl-80{padding-left: 80px}
  .pl-90{padding-left: 90px}
  .pl-100{padding-left: 100px}
  .pl-110{padding-left: 110px}
  .pl-120{padding-left: 120px}
  
  /* padding right px */
  .pr-10{padding-right: 10px}
  .pr-20{padding-right: 20px}
  .pr-30{padding-right: 30px}
  .pr-40{padding-right: 40px}
  .pr-50{padding-right: 50px}
  .pr-60{padding-right: 60px}
  .pr-70{padding-right: 70px}
  .pr-80{padding-right: 80px}
  .pr-90{padding-right: 90px}
  .pr-100{padding-right: 100px}
  
  /* opacity */
  .op-1{ opacity:.1; }
  .op-2{ opacity:.2; }
  .op-3{ opacity:.3; }
  .op-4{ opacity:.4; }
  .op-5{ opacity:.5; }
  .op-6{ opacity:.6; }
  .op-7{ opacity:.7; }
  .op-8{ opacity:.8; }
  .op-9{ opacity:.9; }
  
  /* line height em */
  .lh-1{line-height: 1em;}
  .lh-1-1{line-height: 1.1em;}
  .lh-1-2{line-height: 1.2em;}
  .lh-1-3{line-height: 1.3em;}
  .lh-1-4{line-height: 1.4em;}
  .lh-1-5{line-height: 1.5em;}
  
  .ls-005-em{ letter-spacing:-0.05em }
  
  .mw-100{min-width: 100px}
  .mw-200{min-width: 200px}
  
  .mh-300{min-height: 300px}
  .mh-400{min-height: 400px}
  .mh-500{min-height: 500px}
  
  /* margin right negative px */
  .mr-min-20{margin-right: -20px;}
  .mr-min-30{margin-right: -30px;}
  .mr-min-40{margin-right: -40px;}
  .mr-min-50{margin-right: -50px;}
  .mr-min-60{margin-right: -60px;}
  .mr-min-70{margin-right: -70px;}
  .mr-min-80{margin-right: -80px;}
  
  /* border white px */
  .border-white-1{border: solid 1px white;}
  .border-white-2{border: solid 2px white;}
  .border-white-3{border: solid 3px white;}
  .border-white-4{border: solid 4px white;}
  .border-white-5{border: solid 5px white;}
  .border-white-6{border: solid 6px white;}
  
  .w-20px{width: 20px}
  .w-24px{width: 24px}
  .w-30px{width: 30px}
  .w-180px{width: 180px}
  .w-100px{width: 100px}
  .w-200px{width: 200px}
  .w-300px{width: 300px}
  .w-400px{width: 400px}
  .w-2000px{width: 2000px}
  
  .text-gradient-up-down-1{
    background-image: -webkit-linear-gradient(0deg,rgba(255, 255, 255, 1.0) 0%, rgba(255, 255, 255, 0) 70%);
    background-image: -moz-linear-gradient(0deg,rgba(255, 255, 255, 1.0) 0%, rgba(255, 255, 255, 0) 70%);
    background-image: linear-gradient(0deg,rgba(255, 255, 255, 1.0) 0%, rgba(255, 255, 255, 0) 70%);
    background-clip: text;
    -webkit-background-clip: text;
    text-fill-color: transparent;
    -webkit-text-fill-color: transparent;
  }
  
  
  .text-gradient-color-up-down-1{
    background-image: -webkit-linear-gradient(0deg,rgba(var(--primary-color-rgb), 1.0) 0%, rgba(var(--primary-color-rgb), 0) 60%);
    background-image: -moz-linear-gradient(0deg,rgba(var(--primary-color-rgb), 1.0) 0%, rgba(var(--primary-color-rgb), 0) 60%);
    background-image: linear-gradient(0deg,rgba(var(--primary-color-rgb), 1.0) 0%, rgba(var(--primary-color-rgb), 0) 60%);
    background-clip: text;
    -webkit-background-clip: text;
    text-fill-color: transparent;
    -webkit-text-fill-color: transparent;
  }
  
  .text-gradient-up-down-2{
    background-image: -webkit-linear-gradient(0deg,rgba(0,0,0, 0) 0%, rgba(0,0,0, .1) 70%);
    background-image: -moz-linear-gradient(0deg,rgba(0,0,0, 0) 0%, rgba(0,0,0, .1) 70%);
    background-image: linear-gradient(0deg,rgba(0,0,0, 0) 0%, rgba(0,0,0, .1) 70%);
    background-clip: text;
    -webkit-background-clip: text;
    text-fill-color: transparent;
    -webkit-text-fill-color: transparent;
  }
  
  .hover-op-0{ opacity:1 }
  .hover:hover .hover-op-0{ opacity:0 }
  .hover-op-1,.hover-op-05{ opacity:0 }
  .hover:hover .hover-op-1{ opacity:1 }
  .hover:hover .hover-op-05{ opacity:.5 }
  .hover:hover .hover-scale-1-1{transform: scale(1.1);}
  .hover:hover .hover-scale-1-2{transform: scale(1.2);}
  .hover-scale-in-3{transform: scale(3); opacity: 0}
  .hover:hover .hover-scale-in-3{transform: scale(1); opacity: 1}
  .hover:hover .hover-bg-color{background: var(--primary-color)}
  .hover:hover .hover-bg-dark{background: var(--title-font-color)}
  .hover-mh-100{max-height: 0px; overflow: hidden;}
  .hover:hover .hover-mh-100{max-height: 500px;}
  .hover:hover .hover-top-0{top:0;}
  .hover:hover .hover-pb-40{padding-bottom: 40px;}
  .hover-mt-40{margin-top: 40px;}
  .hover:hover .hover-mt-40{margin-top: 0px;}
  .hover:hover .hover-mt-0{margin-top: 0;}
  
  .inline-block{
      display: inline-block;
  }
  
  .gradient-trans-white-bottom{ background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%); }
  .gradient-trans-color-bottom{ background: linear-gradient(180deg, rgba(var(--primary-color-rgb),0) 0%, rgba(var(--primary-color-rgb),1) 100%); }
  
  /* z-index */
  .z-1{z-index: 1}
  .z-2{z-index: 2}
  .z-3{z-index: 3}
  .z-4{z-index: 4}
  .z-5{z-index: 5}
  .z-1000 { z-index: 1000; }
  
  .deco-text{ font-family: var(--deco-font) !important; }
  
  /* misc */
  
  /* swiperjs */
  
  .swiper,
  .sw-overlay{
      position: absolute;
      width: 100%;
      height: 100% !important;
  }
  
  .swiper-slide{
      position: relative;
  }
  
  .sw-caption{
      z-index: 1;
      position: absolute;
      width: 100%;
      top: 50%;
      transform: translateY(-50%);
      letter-spacing: -.5;
  }
  
  .sw-text-wrapper.border-left{
    border-left: solid 1px rgba(255, 255, 255, .75);
    padding-left: 40px;
  }
  
  .slider-title .underline{
    position: relative;
  }
  .slider-title .underline:before{
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: var(--primary-color);
  }
  h2.slider-title{
    font-size: 64px;
    letter-spacing: -3px;
  }
  h3.slider-teaser{
    font-size: 24px;
  }
  p.slider-teaser{
    font-size: 18px;
    line-height: 1.6em;
    font-weight: 400;
  }
  
  .sw-overlay{
    background: rgba(0, 0, 0, .35);
  }
  
  .swiper-scrollbar,
  .swiper-scrollbar-horizontal,
  .swiper-scrollbar-drag{
      display: none;
  }
  
  .swiper-inner{
    display: block;
    position: absolute;
    top:0;
    width: 100%;
    height: 100%;
    background: none;
  }
  
  .swiper-slide-active .subtitle {
    animation-delay: 0s;
    animation: fadeInRight 2s;
  }
  
  
  .swiper-slide-active .slider-title {
    animation-delay: 1s;
    animation: fadeInRight 2s;
  }
  
  
  .swiper-slide-active .slider-teaser,
  .swiper-slide-active .slider-text {
    animation-delay: 1.2s;
    animation: fadeInRight 2s;
  }
  
  .swiper-slide-active .slider-teaser {
    animation-delay: 1.4s;
    animation: fadeInRight 2s;
  }
  
  
  .swiper-slide-active .slider-extra {
    animation-delay: 1.4s;
    animation: fadeInRight 2s;
  }
  
  
  
  .swiper-slide-active .btn-main,.swiper-slide-active .btn-line {
    animation-delay: 1.4s;
    animation: fadeInRight 2s;
  }
  
  .swiper-pagination{
    width: 100px;
    font-size: 20px;
    text-align: right;
    position: absolute;
    left: auto;
    right: 40px;
    bottom: 40px;
    font-weight: 400;
  }
  
  .swiper-pagination-total{
    font-size:20px;
    opacity: .5;
  }
  
  .swiper-pagination-current{
    color:var(--priamry-color);
    font-size: 20px;
  }
  
  .swiper-button-next, .swiper-button-prev{
    color:#ffffff;
  }
  
  .swiper-button-next:after, .swiper-button-prev:after{
    font-size:24px;
  }
  
  .swiper-button-next{
    right: 20px;
  }
  
  .swiper-button-prev{
    left: 20px;
  }
  
  .sw-price{
    color:#ffffff;
  }
  .sw-price .d-starting{
    margin-bottom: 20px;
    color:rgba(255, 255, 255, .75);
  }
  .sw-price .d-price{
    font-size: 56px;
    font-family: var(--title-font);
    font-weight: bold;
    margin-bottom: 10px;
  }
  .sw-price .d-val{
    background: -webkit-linear-gradient(0deg,#888888 0%, #ffffff 75%);
    background: -moz-linear-gradient(0deg,#888888 0%, #ffffff 75%);
    background: linear-gradient(0deg,#888888 0%, #ffffff 75%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .sw-price .d-cur, .sw-price .d-period{
    font-size: 16px;
    font-family: var(--body-font);
    color:var(--primary-color);
  }
  .sw-price .d-cur{
    font-weight: bold;
  }
  
  
  /* swiper end */
  
  
  /* swiper #2 begin */
  
  .swiper-container {
    overflow: hidden;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  @media (min-width: 480px) {
    .swiper-container {
      min-height: 320px;
    }
  }
  .swiper-container-wrapper {
    display: flex;
    flex-flow: column nowrap;
    height: 100vh;
    width: 100vw;
  }
  @media (min-width: 480px) {
    .swiper-container-wrapper {
      flex-flow: row nowrap;
    }
  }
  
  #swiper-s2 .swiper-slide {
    text-align: center;
    background-size: cover;
    background-position: center;
    background-color: var(--bg-dark-1);
    /* Center slide text vertically */
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    /* Slide content */
  }
  .swiper-slide .description,
  .swiper-slide .title {
    display: block;
    opacity: 0;
    transition: 0.5s ease 0.5s;
  }
  .swiper-slide-active .description,
  .swiper-slide-active .title {
    opacity: 1;
  }
  .swiper-slide-active .title {
    margin-bottom: 0.5rem;
    font-size: 24px;
    color: #000;
    transition: opacity 0.5s ease 0.5s;
  }
  .swiper-slide-active .description {
    font-size: 16px;
    color: #777;
    transition: opacity 0.5s ease 0.75s;
  }
  
  .gallery-top {
    position: relative;
    width: 100%;
    height: 75vh;
  }
  @media (min-width: 480px) {
    .gallery-top {
      width: 80%;
      height: 100vh;
      margin-right: 10px;
    }
  }
  
  .gallery-thumbs {
    width: 100%;
    height: 25vh;
    padding-top: 10px;
  }
  @media (min-width: 480px) {
    .gallery-thumbs {
      width: 20%;
      height: 100vh;
      padding: 0;
    }
  }
  .gallery-thumbs .swiper-wrapper {
    flex-direction: row;
  }
  @media (min-width: 480px) {
    .gallery-thumbs .swiper-wrapper {
      flex-direction: column;
    }
  }
  .gallery-thumbs .swiper-slide {
    width: 25%;
    flex-flow: row nowrap;
    height: 100%;
    opacity: 0.75;
    cursor: pointer;
  }
  @media (min-width: 480px) {
    .gallery-thumbs .swiper-slide {
      flex-flow: column nowrap;
      width: 100%;
    }
  }
  .gallery-thumbs .swiper-slide-thumb-active {
    opacity: 1;
  }
  
  .sw-caption-thumb h3{
    font-size: 22px
  }
  
  .sw-caption-thumb .d-tag{
    color:#ffffff;
    font-size: 12px;
    font-weight: bold;
    background: var(--primary-color);
    padding: 2px 10px;
    border-radius:30px;
    -moz-border-radius:30px;
    -webkit-border-radius:30px;
  }

  /* Event speakers carousel: see css/event-speakers-carousel.css */

/* ========== Event theme common (base para confut-euro, confut-nordeste, confut-sudamericana) ==========
   Cada confut-*.css define --primary-color, --primary-color-rgb, --event-bg, --event-text, --event-border, --event-font.
   Aqui ficam botões, cards, formulários, accordion e seções escuras que usam essas variáveis. */

.confut-nordeste-theme .btn-main,
.confut-nordeste-theme .btn-main.big,
.confut-nordeste-theme a.btn-main {
  background-color: var(--primary-color) !important;
  border-color: var(--primary-color);
  color: var(--event-bg) !important;
  font-family: var(--event-font);
  font-weight: 600;
  padding: 12px 32px;
  border-radius: 60px;
  -moz-border-radius: 60px;
  -webkit-border-radius: 60px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 14px rgba(var(--primary-color-rgb), 0.25);
  cursor: pointer;
  display: inline-block;
}

.confut-nordeste-theme .btn-main.big,
.confut-nordeste-theme a.btn-main.big {
  font-size: 1.05rem;
  padding: 16px 40px;
  min-height: 50px;
  border-radius: 30px;
  -moz-border-radius: 30px;
  -webkit-border-radius: 30px;
}

.confut-nordeste-theme .btn-main:hover,
.confut-nordeste-theme .btn-main:focus,
.confut-nordeste-theme a.btn-main:hover {
  background-color: var(--primary-color) !important;
  border-color: var(--primary-color);
  color: var(--event-bg) !important;
  box-shadow: 2px 2px 20px 0 rgba(var(--primary-color-rgb), 0.5);
  transform: translateY(-2px);
}

.confut-nordeste-theme .id-color,
.confut-nordeste-theme .d-item-block.bg-color {
  background-color: var(--primary-color) !important;
  color: var(--event-bg) !important;
  border-radius: 8px;
}

.confut-nordeste-theme .id-color {
  padding: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.confut-nordeste-theme .event-marquee-strip--nordeste {
  background: #f8f9fc  ;
}

.confut-nordeste-theme .event-marquee-strip--nordeste .de-marquee-list {
  padding: 0.2rem 0;
}

.confut-nordeste-theme .event-marquee-strip--nordeste .d-item-txt {
  color: #222 !important;
  -webkit-text-stroke: 0 !important;
  text-shadow: 0 6px 18px rgba(36, 8, 8, 0.28);
}

.confut-nordeste-theme .event-marquee-strip--nordeste .d-item-block.bg-color {
  background-color: #ff9800 !important;
  color: #ffffff !important;
}

.confut-nordeste-theme #section-hero .ultra-big,
.confut-nordeste-theme #section-hero .ultra-big > span {
  color: #ffffff !important;
}

/* Apenas o header principal da página (#wrapper > header), não <header> de seções HTML5 internas */
.confut-nordeste-theme #wrapper > header,
.confut-nordeste-theme #wrapper > header.smaller {
  background: linear-gradient(
    180deg,
    rgba(30, 7, 7, 0.9) 0%,
    rgba(42, 9, 9, 0.74) 70%,
    rgba(42, 9, 9, 0.56) 100%
  ) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  box-shadow: none !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  z-index: 12000 !important;
  isolation: isolate;
}

.confut-nordeste-theme #wrapper > header.smaller {
  background: rgba(30, 7, 7, 0.98) !important;
  border-bottom-color: rgba(167, 4, 4, 0.24) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28) !important;
}

.confut-nordeste-theme #wrapper > header > .container {
  max-width: 1320px;
}

.confut-nordeste-theme #wrapper > header .de-flex {
  display: grid !important;
  grid-template-columns: minmax(120px, 190px) minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem 1.25rem;
  min-height: 104px;
  padding: 1.5rem 0;
}

.confut-nordeste-theme #wrapper > header #logo a {
  display: inline-block;
  line-height: 0;
}

.confut-nordeste-theme #wrapper > header #logo img {
  display: block;
  max-width: 175px;
  height: auto;
}

.confut-nordeste-theme #wrapper > header #logo img.logo-mobile {
  display: none !important;
}

.confut-nordeste-theme #wrapper > header .header-col-mid {
  min-width: 0;
  justify-self: center;
  width: 100%;
}

.confut-nordeste-theme #wrapper > header #mainmenu {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Reset para <header> internos (tags semânticas HTML5) — não devem herdar styles do header principal */
.confut-nordeste-theme section header,
.confut-nordeste-theme article header,
.confut-nordeste-theme div header {
  position: static !important;
  z-index: auto !important;
  background: transparent !important;
  border-bottom: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
}

.confut-nordeste-theme .menu_side_area {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.55rem;
  margin-left: 0;
}

.confut-nordeste-theme .header-cta-nordeste {
  width: auto;
  max-width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 0.55rem 1.25rem !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  line-height: 1.25;
  text-align: center;
  font-weight: 700 !important;
  font-size: clamp(0.8rem, 2.6vw, 0.95rem);
  letter-spacing: 0.02em;
  text-transform: none;
  background-color: #a70404 !important;
  background-image: none !important;
  border: 2px solid #a70404 !important;
  border-color: #a70404 !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    transform 0.15s ease,
    box-shadow 0.2s ease !important;
}

.confut-nordeste-theme .header-cta-nordeste:hover {
  background-color: #ff9800 !important;
  border-color: #ff9800 !important;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3) !important;
}

.confut-nordeste-theme .header-cta-nordeste:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
  box-shadow: 0 10px 24px rgba(167, 4, 4, 0.5) !important;
}

.confut-nordeste-theme .header-cta-nordeste:active {
  transform: translateY(0);
}

/* ========== Hero Section Refinement — Modern & Clean Design ========== */

/* Date/Location Badge — Improved Legibility */
.confut-nordeste-theme #section-hero h5.s2 {
  font-size: 17px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px;
  color: #ffffff !important;
  background: rgba(167, 4, 4, 0.15) !important;
  border: 1px solid rgba(167, 4, 4, 0.35) !important;
  padding: 10px 20px !important;
  backdrop-filter: blur(10px);
}

.confut-nordeste-theme #section-hero h5.s2 span {
  margin: 0 14px;
}

.confut-nordeste-theme #section-hero h5.s2 i.id-color {
  color: #ffffff !important;
  opacity: 0.95;
  margin-right: 8px;
}

/* Main Title — Enhanced Spacing & Hierarchy */
.confut-nordeste-theme #section-hero h1.ultra-big {
  margin-top: 48px !important;
  margin-bottom: 32px !important;
  line-height: 1.05;
  letter-spacing: -0.015em;
}

/* Countdown Timer — Modern Design
   Notes: base CSS uses `.countdown-row` (block, full width) + `.countdown-section`
   (display: block; float: left). We promote `.countdown-row` to flex and clear the
   float so our `gap` actually applies and items center cleanly on all viewports. */
.confut-nordeste-theme .countdown-s2 {
  display: block;
  margin: 32px 0 8px;
}

.confut-nordeste-theme .countdown-s2 .countdown-row {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 20px;
  padding: 0 !important;
}

.confut-nordeste-theme .countdown-s2 .countdown-show4 .countdown-section {
  float: none !important;
  width: 110px !important;
  height: auto !important;
  background: rgba(167, 4, 4, 0.12) !important;
  border: 1.5px solid rgba(167, 4, 4, 0.35) !important;
  border-radius: 14px !important;
  padding: 26px 16px !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1),
              background-color 0.25s ease,
              border-color 0.25s ease,
              box-shadow 0.3s ease;
}

.confut-nordeste-theme .countdown-s2 .countdown-show4 .countdown-section:hover {
  background: rgba(167, 4, 4, 0.18) !important;
  border-color: rgba(167, 4, 4, 0.55) !important;
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(167, 4, 4, 0.25);
}

.confut-nordeste-theme .countdown-s2 .countdown-amount {
  font-size: 3.8rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  color: #ffffff !important;
  letter-spacing: -0.02em;
  margin: 0 !important;
  display: block;
}

.confut-nordeste-theme .countdown-s2 .countdown-period {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.85) !important;
  margin: 0 !important;
  white-space: nowrap;
  display: block;
}

/* Tagline — Improved Contrast & Spacing */
.confut-nordeste-theme #section-hero p.lead {
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.7em;
  color: rgba(255, 255, 255, 0.95) !important;
  margin-top: 40px !important;
  margin-bottom: 50px !important;
  letter-spacing: -0.2px;
}

/* Action Buttons — Refined Styling */
.confut-nordeste-theme #section-hero .btn-main.big {
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em;
  padding: 16px 40px !important;
  border-radius: 60px !important;
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  box-shadow: 0 4px 16px rgba(167, 4, 4, 0.3);
  position: relative;
  overflow: hidden;
}

.confut-nordeste-theme #section-hero .btn-main.big::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.2) 0%, transparent 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.confut-nordeste-theme #section-hero .btn-main.big:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 28px rgba(167, 4, 4, 0.45) !important;
}

.confut-nordeste-theme #section-hero .btn-main.big:hover::before {
  opacity: 1;
}

.confut-nordeste-theme #section-hero .btn-main.big:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
  box-shadow: 0 12px 28px rgba(167, 4, 4, 0.45) !important;
}

.confut-nordeste-theme #section-hero .btn-main.big:active {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 16px rgba(167, 4, 4, 0.4) !important;
  transition-duration: 0.12s !important;
}

/* Button Container Spacing */
.confut-nordeste-theme #section-hero .d-flex {
  gap: 24px !important;
  flex-wrap: wrap;
}

/* Header Navigation Refinement */
.confut-nordeste-theme header #mainmenu li a.menu-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 0.72rem 0.15rem !important;
  border-radius: 8px;
  color: rgba(255, 255, 255, 0.94) !important;
  font-weight: 600 !important;
  font-size: clamp(0.86rem, 2.4vw, 0.96rem);
  letter-spacing: 0.01em;
  line-height: 1.25;
  text-decoration: none !important;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
  transition: color 0.2s ease, background 0.2s ease !important;
}

.confut-nordeste-theme header #mainmenu li a.menu-item:hover {
  color: #ff9800 !important;
}

.confut-nordeste-theme header #mainmenu li a.menu-item:focus-visible {
  color: #ff9800 !important;
  outline: 2px solid #ff9800;
  outline-offset: 2px;
}

/* Estado ativo: item do menu corresponde à página atual.
   Usa a paleta vermelho/laranja como cor + um sublinhado sutil para reforço visual. */
.confut-nordeste-theme header #mainmenu li a.menu-item.active,
.confut-nordeste-theme header.smaller #mainmenu li a.menu-item.active {
  color: #ff9800 !important;
  position: relative;
}

.confut-nordeste-theme header #mainmenu > li > a.menu-item.active::after {
  transform: scaleX(1);
  background: linear-gradient(90deg, #a70404 0%, #ff9800 100%);
}

.confut-nordeste-theme header #mainmenu li a.menu-item.active:hover {
  color: #ff9800 !important;
}

@media (min-width: 992px) {
  .confut-nordeste-theme #wrapper > header #mainmenu {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.2rem 1.5rem;
  }

  .confut-nordeste-theme #wrapper > header #mainmenu > li {
    display: flex;
    align-items: center;
    margin: 0 !important;
    padding: 0 !important;
  }

  .confut-nordeste-theme header #mainmenu > li > a.menu-item::after {
    content: '';
    position: absolute;
    left: 10%;
    right: 10%;
    bottom: 0.32rem;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.25s ease;
    opacity: 0.95;
  }

  .confut-nordeste-theme header #mainmenu > li > a.menu-item:hover::after,
  .confut-nordeste-theme header #mainmenu > li > a.menu-item:focus-visible::after {
    transform: scaleX(1);
    background: linear-gradient(90deg, #a70404 0%, #ff9800 100%);
  }

  .confut-nordeste-theme header #mainmenu > li > a.menu-item.active::after {
    transform: scaleX(1);
    background: linear-gradient(90deg, #a70404 0%, #ff9800 100%);
  }

  .confut-nordeste-theme header #mainmenu li ul {
    min-width: 230px;
    padding: 0.65rem 0;
    border-radius: 14px;
    background: linear-gradient(188deg, rgba(30, 7, 7, 0.98) 0%, rgba(58, 13, 13, 0.98) 100%) !important;
    border: 1px solid rgba(167, 4, 4, 0.28);
    border-top: 2px solid #ff9800;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
    overflow: hidden;
  }

  .confut-nordeste-theme header #mainmenu li ul li {
    margin: 0 !important;
  }

  .confut-nordeste-theme header #mainmenu li ul li a.menu-item {
    justify-content: flex-start;
    width: 100%;
    padding: 0.72rem 1rem !important;
    border-radius: 0;
    color: rgba(255, 255, 255, 0.88) !important;
    text-shadow: none;
  }

  .confut-nordeste-theme header #mainmenu li ul li a.menu-item:hover,
  .confut-nordeste-theme header #mainmenu li ul li a.menu-item:focus-visible,
  .confut-nordeste-theme header #mainmenu li ul li a.menu-item.active {
    color: #ffffff !important;
    background: linear-gradient(90deg, rgba(167, 4, 4, 0.26), rgba(255, 152, 0, 0.18));
  }

  .confut-nordeste-theme header #mainmenu li ul li a.menu-item::after {
    display: none;
  }
}

@media (max-width: 991.98px) {
  .confut-nordeste-theme #wrapper > header,
  .confut-nordeste-theme #wrapper > header.smaller {
    background: rgba(30, 7, 7, 0.98) !important;
  }

  .confut-nordeste-theme #wrapper > header > .container {
    padding-left: max(0.75rem, env(safe-area-inset-left, 0px));
    padding-right: max(0.75rem, env(safe-area-inset-right, 0px));
  }

  .confut-nordeste-theme #wrapper > header .de-flex {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
    min-height: 78px;
    padding: 0.9rem 0;
  }

  .confut-nordeste-theme #wrapper > header #logo img {
    max-width: min(132px, 34vw);
    width: auto !important;
  }

  .confut-nordeste-theme .header-cta-nordeste {
    min-height: 42px;
    padding: 0.42rem 0.72rem !important;
    font-size: clamp(0.72rem, 2.8vw, 0.84rem);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.22);
  }

  .confut-nordeste-theme #menu-btn {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.1);
  }
}

/* Hero Container Padding Adjustment */
.confut-nordeste-theme #section-hero .container {
  padding: 0 20px;
}

@media (max-width: 768px) {
  .confut-nordeste-theme .countdown-s2 .countdown-row {
    gap: 12px;
  }

  .confut-nordeste-theme .countdown-s2 .countdown-show4 .countdown-section {
    width: 78px !important;
    padding: 18px 10px !important;
    border-radius: 12px !important;
  }

  .confut-nordeste-theme .countdown-s2 .countdown-amount {
    font-size: 2.4rem !important;
  }

  .confut-nordeste-theme .countdown-s2 .countdown-period {
    font-size: 0.62rem !important;
    letter-spacing: 0.1em !important;
  }

  .confut-nordeste-theme #section-hero h5.s2 {
    font-size: 14px !important;
    padding: 8px 16px !important;
  }

  .confut-nordeste-theme #section-hero h5.s2 span {
    margin: 0 8px;
  }

  .confut-nordeste-theme #section-hero h1.ultra-big {
    margin-top: 24px !important;
    margin-bottom: 24px !important;
  }

  .confut-nordeste-theme #section-hero .btn-main.big {
    font-size: 14px !important;
    padding: 14px 32px !important;
  }

  .confut-nordeste-theme #section-hero .d-flex {
    gap: 16px !important;
  }
}

@media (max-width: 420px) {
  .confut-nordeste-theme .countdown-s2 .countdown-show4 .countdown-section {
    width: calc(50% - 6px) !important;
    max-width: 140px;
  }
}

/* ========== Speakers Nordeste ========== */
.confut-nordeste-theme #section-speakers.event-speakers-section {
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0) 60%),
    linear-gradient(135deg, #a70404 0%, #a70404 35%, #7a0404 100%) !important;
  padding-bottom: clamp(5rem, 9vw, 7rem);
}

.confut-nordeste-theme #section-speakers.event-speakers-section::before {
  background:
    radial-gradient(circle at 50% 0%, rgba(167, 4, 4, 0.12) 0%, transparent 44%),
    radial-gradient(circle at 50% 42%, rgba(255, 255, 255, 0.05) 0%, transparent 62%);
  opacity: 1;
}

.confut-nordeste-theme #section-speakers .subtitle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 1rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #ffffff !important;
  box-shadow: 0 12px 30px rgba(5, 10, 24, 0.3);
  backdrop-filter: blur(10px);
}

.confut-nordeste-theme #section-speakers h2 {
  color: #ffffff;
  text-shadow: 0 14px 36px rgba(0, 0, 0, 0.34);
  letter-spacing: 0.02em;
}

.confut-nordeste-theme #section-speakers .lead {
  max-width: 44rem;
  margin-left: auto;
  margin-right: auto;
  color: rgba(255, 241, 224, 0.84) !important;
  text-shadow: 0 8px 18px rgba(0, 0, 0, 0.28);
}

.confut-nordeste-theme #speakers-carousel .owl-stage-outer {
  padding: 32px 0 48px;
}

.confut-nordeste-theme #speakers-carousel .owl-item {
  opacity: 0.72;
  transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.confut-nordeste-theme #section-speakers .event-speaker-card {
  margin-top: 15px;
  margin-bottom: 15px;
}

.confut-nordeste-theme #speakers-carousel .owl-item .event-speaker-card {
  transform: scale(0.78);
  opacity: 0.72;
  filter: saturate(0.88) brightness(0.92);
  transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.confut-nordeste-theme #speakers-carousel .owl-item.center {
  opacity: 1;
  z-index: 10;
}

.confut-nordeste-theme #speakers-carousel .owl-item.center .event-speaker-card {
  transform: scale(1.15);
  opacity: 1;
  filter: saturate(1.08) brightness(1);
  box-shadow: 0 32px 72px rgba(0, 0, 0, 0.45);
}

.confut-nordeste-theme #section-speakers .event-speaker-card-inner {
  border-radius: 32px;
  background: linear-gradient(180deg, rgba(34, 10, 10, 0.98) 0%, rgba(10, 4, 4, 0.98) 100%);
  box-shadow: 0 32px 72px rgba(0, 0, 0, 0.42), inset 0 1px 1px rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  min-height: 500px;
  display: flex;
  flex-direction: column;
}

.confut-nordeste-theme #section-speakers .event-speaker-card-face {
  border-radius: 32px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 24px 54px rgba(0, 0, 0, 0.38);
  min-height: 500px;
}

.confut-nordeste-theme #section-speakers .event-speaker-card-front::before {
  background:
    linear-gradient(180deg, rgba(22, 6, 6, 0.02) 0%, rgba(22, 6, 6, 0.18) 35%, rgba(8, 3, 3, 0.88) 100%),
    linear-gradient(135deg, rgba(167, 4, 4, 0.28) 0%, rgba(167, 4, 4, 0.08) 50%, transparent 100%);
  backdrop-filter: blur(2px);
}

.confut-nordeste-theme #section-speakers .event-speaker-photo img {
  filter: grayscale(8%) brightness(0.92) saturate(1.02);
  transition: filter 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
  transform: scale(1);
}

.confut-nordeste-theme #section-speakers .event-speaker-card:not(.flipped):hover .event-speaker-photo img {
  filter: grayscale(0%) brightness(0.95) saturate(1.06);
  transform: scale(1.03);
}

.confut-nordeste-theme #section-speakers .event-speaker-default {
  padding: 85px 28px 28px;
  background: linear-gradient(180deg, rgba(22, 6, 6, 0) 0%, rgba(22, 6, 6, 0.14) 18%, rgba(22, 6, 6, 0.82) 100%);
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.confut-nordeste-theme #section-speakers .event-speaker-name,
.confut-nordeste-theme #section-speakers .event-speaker-name-back {
  color: #ffffff;
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em;
  text-shadow: 0 8px 24px rgba(0, 0, 0, 0.42);
  line-height: 1.3;
  margin-bottom: 8px;
}

.confut-nordeste-theme #section-speakers .event-speaker-role {
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em;
  color: rgba(255, 198, 122, 0.95);
  text-shadow: 0 4px 12px rgba(0, 0, 0, 0.28);
  line-height: 1.4;
  text-transform: uppercase;
}

.confut-nordeste-theme #section-speakers .event-speaker-card-back {
  background: linear-gradient(165deg, #4a160b 0%, #2a0b0b 42%, #120505 100%);
  border-color: rgba(167, 4, 4, 0.32);
  box-shadow: 0 28px 64px rgba(0, 0, 0, 0.42), inset 0 1px 2px rgba(167, 4, 4, 0.16);
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  min-height: 500px;
  padding: 28px !important;
}

.confut-nordeste-theme #section-speakers .event-speaker-card.flipped:hover .event-speaker-card-back {
  box-shadow: 0 36px 76px rgba(0, 0, 0, 0.48), inset 0 1px 2px rgba(167, 4, 4, 0.22);
}

.confut-nordeste-theme #section-speakers .event-speaker-role-back {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em;
  color: rgba(255, 198, 122, 0.95);
  text-shadow: 0 3px 10px rgba(0, 0, 0, 0.32);
  margin-bottom: 14px;
  text-transform: uppercase;
}

.confut-nordeste-theme #section-speakers .event-speaker-bio {
  font-size: 0.9rem !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
  color: rgba(255, 248, 240, 0.95);
  border-top-color: rgba(167, 4, 4, 0.48);
  padding: 18px 0 !important;
  margin: 18px 0;
  letter-spacing: 0.3px;
}

.confut-nordeste-theme #section-speakers .event-speaker-bio::-webkit-scrollbar {
  width: 4px;
}

.confut-nordeste-theme #section-speakers .event-speaker-bio::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.04);
  border-radius: 10px;
}

.confut-nordeste-theme #section-speakers .event-speaker-bio::-webkit-scrollbar-thumb {
  background: rgba(167, 4, 4, 0.34);
  border-radius: 10px;
}

.confut-nordeste-theme #section-speakers .event-speaker-bio::-webkit-scrollbar-thumb:hover {
  background: rgba(167, 4, 4, 0.56);
}

.confut-nordeste-theme #section-speakers .event-speaker-social {
  border-top-color: rgba(167, 4, 4, 0.22);
  padding: 16px 0 !important;
  display: flex;
  gap: 12px;
  justify-content: center;
  align-items: center;
}

.confut-nordeste-theme #section-speakers .event-speaker-social-link {
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  min-height: 52px !important;
  background: rgba(255, 255, 255, 0.1);
  border: 2px solid rgba(255, 255, 255, 0.18);
  color: #fff7ed;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  font-size: 22px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.confut-nordeste-theme #section-speakers .event-speaker-social-link:hover {
  background: rgba(167, 4, 4, 0.35);
  border-color: rgba(167, 4, 4, 0.68);
  color: #ffffff;
  transform: translateY(-4px) scale(1.08);
  box-shadow: 0 12px 32px rgba(167, 4, 4, 0.42);
}

.confut-nordeste-theme #section-speakers .event-speakers-carousel-wrap .owl-nav {
  display: none !important;
}

.confut-nordeste-theme #section-speakers .btn-main {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: min(22rem, 92vw);
  padding: 1.1rem 2.25rem;
  font-size: 0.95rem;
  line-height: 1.15;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff9800 0%, #d97900 100%) !important;
  box-shadow:
    0 18px 46px rgba(255, 152, 0, 0.35),
    0 0 0 1px rgba(255, 255, 255, 0.12) inset;
  position: relative;
  z-index: 20;
}

@media (hover: hover) and (pointer: fine) {
  .confut-nordeste-theme #section-speakers .btn-main:hover {
    transform: translateY(-2px);
    box-shadow:
      0 24px 60px rgba(255, 152, 0, 0.42),
      0 0 0 1px rgba(255, 255, 255, 0.12) inset;
  }
}

@media (max-width: 991.98px) {
  .confut-nordeste-theme #section-speakers .lead {
    max-width: 34rem;
  }

  .confut-nordeste-theme #speakers-carousel .owl-item .event-speaker-card {
    transform: scale(0.88);
  }

  .confut-nordeste-theme #speakers-carousel .owl-item.center .event-speaker-card {
    transform: scale(1.08);
  }

  .confut-nordeste-theme #section-speakers .event-speaker-name,
  .confut-nordeste-theme #section-speakers .event-speaker-name-back {
    font-size: 1.2rem !important;
  }

  .confut-nordeste-theme #section-speakers .event-speaker-role,
  .confut-nordeste-theme #section-speakers .event-speaker-role-back {
    font-size: 0.88rem !important;
  }

  .confut-nordeste-theme #section-speakers .event-speaker-social-link {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    font-size: 20px;
  }

  .confut-nordeste-theme #section-speakers .event-speaker-card-inner,
  .confut-nordeste-theme #section-speakers .event-speaker-card-face {
    min-height: 450px;
  }
}

@media (max-width: 768.98px) {
  .confut-nordeste-theme #section-speakers .event-speaker-card-inner {
    border-radius: 28px;
    min-height: 420px;
  }

  .confut-nordeste-theme #section-speakers .event-speaker-card-face {
    border-radius: 28px;
    min-height: 420px;
  }

  .confut-nordeste-theme #speakers-carousel .owl-item .event-speaker-card {
    transform: scale(0.95);
  }

  .confut-nordeste-theme #speakers-carousel .owl-item.center .event-speaker-card {
    transform: scale(1.05);
  }

  .confut-nordeste-theme #section-speakers .event-speaker-name,
  .confut-nordeste-theme #section-speakers .event-speaker-name-back {
    font-size: 1.15rem !important;
  }

  .confut-nordeste-theme #section-speakers .event-speaker-role,
  .confut-nordeste-theme #section-speakers .event-speaker-role-back {
    font-size: 0.85rem !important;
  }

  .confut-nordeste-theme #section-speakers .event-speaker-social-link {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    font-size: 18px;
  }
}

@media (max-width: 575.98px) {
  .confut-nordeste-theme #section-speakers .event-speaker-default {
    padding: 72px 18px 18px;
  }

  .confut-nordeste-theme #section-speakers .event-speaker-card-inner,
  .confut-nordeste-theme #section-speakers .event-speaker-card-face {
    min-height: 380px;
  }

  .confut-nordeste-theme #section-speakers .subtitle {
    padding: 0.5rem 0.85rem;
    font-size: 0.72rem;
  }

  .confut-nordeste-theme #section-speakers .event-speaker-name,
  .confut-nordeste-theme #section-speakers .event-speaker-name-back {
    font-size: 1.1rem !important;
    letter-spacing: 0.04em;
  }

  .confut-nordeste-theme #section-speakers .event-speaker-role,
  .confut-nordeste-theme #section-speakers .event-speaker-role-back {
    font-size: 0.82rem !important;
  }

  .confut-nordeste-theme #section-speakers .event-speaker-bio {
    font-size: 0.85rem !important;
    line-height: 1.7 !important;
  }

  .confut-nordeste-theme #section-speakers .event-speaker-social-link {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    font-size: 18px;
    border-radius: 10px;
  }

  .confut-nordeste-theme #speakers-carousel .owl-item .event-speaker-card {
    transform: scale(1);
  }

  .confut-nordeste-theme #speakers-carousel .owl-item.center .event-speaker-card {
    transform: scale(1.04);
  }
}

/* ============================================================ */
/* NEWSLETTER SECTION */
/* ============================================================ */

.sudamericana-newsletter {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(4rem, 9vw, 6.5rem) 0;
  /* Gradiente atmosférico em três paradas (vermelho profundo → vermelho Confut → vinho) */
  background: linear-gradient(135deg, #7a0404 0%, #a70404 38%, #3a0d0d 100%);
  color: #ffffff;
}

/* Realces atmosféricos: glow laranja sutil (acento de marca) + glow branco no topo
   + textura de grade leve para tirar a sensação de "vermelho flat". */
.sudamericana-newsletter__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 60% 70% at 88% 18%, rgba(255, 152, 0, 0.22), transparent 60%),
    radial-gradient(ellipse 70% 60% at 8% 92%, rgba(167, 4, 4, 0.45), transparent 65%),
    radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.10) 0%, transparent 55%),
    linear-gradient(135deg, #7a0404 0%, #a70404 38%, #3a0d0d 100%);
}

/* Linha de separação no topo, em gradiente bandeira (vermelho → laranja) */
.sudamericana-newsletter__bg::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, rgba(167, 4, 4, 0.6) 30%, rgba(255, 152, 0, 0.7) 70%, transparent 100%);
}

/* Grain/texture sutil sobre o gradiente (CSS-only via gradient stripes) */
.sudamericana-newsletter__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px);
  background-size: 22px 22px;
  opacity: 0.5;
  mix-blend-mode: overlay;
}

.sudamericana-newsletter .container {
  position: relative;
  z-index: 1;
}

.sudamericana-newsletter__inner {
  position: relative;
}

.sudamericana-newsletter__row {
  display: grid !important;
  grid-template-columns: minmax(0, 0.88fr) minmax(420px, 1.12fr);
  align-items: center;
  column-gap: clamp(2.5rem, 5vw, 5rem);
  row-gap: clamp(2rem, 5vw, 4rem);
  margin-left: 0;
  margin-right: 0;
}

.sudamericana-newsletter__row > .sudamericana-newsletter__copy,
.sudamericana-newsletter__row > .sudamericana-newsletter__form-col {
  width: auto !important;
  max-width: none !important;
  flex: initial !important;
  padding-left: 0;
  padding-right: 0;
}

.sudamericana-newsletter__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.sudamericana-newsletter__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  width: 100%;
  max-width: 32rem;
}

/* Eyebrow / kicker label — substitui o accent bar laranja off-palette */
.confut-nordeste-theme .sudamericana-newsletter__eyebrow,
.sudamericana-newsletter__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  align-self: center;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #ffffff !important;
  padding: 0.45rem 0.9rem 0.45rem 1.4rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  position: relative;
}

.confut-nordeste-theme .sudamericana-newsletter__eyebrow::before,
.sudamericana-newsletter__eyebrow::before {
  content: "";
  position: absolute;
  left: 0.7rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 6px !important;
  height: 6px !important;
  min-width: 6px !important;
  min-height: 6px !important;
  max-width: 6px !important;
  max-height: 6px !important;
  border-radius: 50% !important;
  background: #ff9800 !important;
  box-shadow: 0 0 0 4px rgba(255, 152, 0, 0.25) !important;
}

/* Título e subtítulo — força cor branca acima de qualquer regra global de heading */
.confut-nordeste-theme .sudamericana-newsletter__title,
.sudamericana-newsletter__title {
  margin: 0;
  font-size: clamp(2rem, 4.5vw, 3rem);
  font-weight: 800;
  color: #ffffff !important;
  line-height: 1.2;
  text-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.confut-nordeste-theme .sudamericana-newsletter__subtitle,
.sudamericana-newsletter__subtitle {
  margin: 0;
  font-size: clamp(1rem, 2vw, 1.15rem);
  font-weight: 400;
  color: rgba(255, 255, 255, 0.92) !important;
  line-height: 1.6;
  max-width: 32rem;
}

/* Lista de benefícios para dar peso visual ao copy */
.sudamericana-newsletter__perks {
  list-style: none;
  margin: 0.5rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.85rem;
}

.sudamericana-newsletter__perk {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0.85rem;
  font-size: 0.97rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.92);
  text-align: left;
}

.sudamericana-newsletter__perk span:not(.sudamericana-newsletter__perk-icon) {
  color: #ffffff !important;
}

.sudamericana-newsletter__perk-icon {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(255, 152, 0, 0.25) 0%, rgba(255, 152, 0, 0.1) 100%);
  border: 1px solid rgba(255, 152, 0, 0.5);
  color: #ffc266;
  margin-top: 0.05rem;
}

.sudamericana-newsletter__perk-icon svg {
  width: 14px;
  height: 14px;
}

.sudamericana-newsletter__form-col {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.sudamericana-newsletter__panel {
  position: relative;
  width: 100%;
  max-width: 760px;
  margin-left: auto;
  background: rgba(31, 11, 11, 0.62);
  border-radius: 16px;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.sudamericana-newsletter__form {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.sudamericana-newsletter__stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.2rem;
}

@media (max-width: 575.98px) {
  .sudamericana-newsletter__stack {
    grid-template-columns: 1fr;
  }
}

.sudamericana-newsletter__field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* layout em 1 coluna: não precisa de spans por nth-child */

.sudamericana-newsletter__label {
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(248, 250, 252, 0.78);
}

.sudamericana-newsletter__input {
  padding: 12px 16px;
  font-size: 0.95rem;
  border: 1.5px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  transition: all 0.3s ease;
  background-color: rgba(255, 255, 255, 0.96);
  color: #1f0b0b;
}

.sudamericana-newsletter__input:focus {
  border-color: rgba(167, 4, 4, 0.9);
  box-shadow: 0 0 0 3px rgba(167, 4, 4, 0.18);
  outline: none;
}

.sudamericana-newsletter__input::placeholder {
  color: rgba(31, 11, 11, 0.6);
}

.sudamericana-newsletter__consent {
  grid-column: 1 / -1;
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  padding: 1rem 0;
}

.sudamericana-newsletter__checkbox {
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  margin-top: 2px;
  border: 1.5px solid rgba(167, 4, 4, 0.95);
  border-radius: 4px;
  cursor: pointer;
  accent-color: #a70404;
}

.sudamericana-newsletter__consent-label {
  font-size: 0.9rem;
  font-weight: 400;
  color: rgba(248, 250, 252, 0.78);
  line-height: 1.5;
  cursor: pointer;
}

.sudamericana-newsletter__submit {
  grid-column: 1 / -1;
  justify-self: stretch;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  width: 100%;
  min-width: 0;
  min-height: 0 !important;
  height: 35px !important;
  max-height: 35px !important;
  margin-top: 0.8rem;
  padding: 0 18px !important;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: linear-gradient(135deg, #ff9800 0%, #d97900 100%) !important;
  color: #ffffff !important;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow: 0 10px 28px rgba(255, 152, 0, 0.35);
}

.sudamericana-newsletter__submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(255, 152, 0, 0.38);
}

.sudamericana-newsletter__submit:active {
  transform: translateY(0);
  box-shadow: 0 6px 16px rgba(255, 152, 0, 0.3);
}

.sudamericana-newsletter__feedback {
  font-size: 0.9rem;
  line-height: 1.5;
  padding: 1rem;
  border-radius: 8px;
  text-align: center;
}

.sudamericana-newsletter__feedback.success {
  background-color: rgba(255, 152, 0, 0.1);
  color: #ff9800;
  border: 1px solid rgba(255, 152, 0, 0.3);
}

.sudamericana-newsletter__feedback.error {
  background-color: rgba(220, 53, 69, 0.1);
  color: #dc3545;
  border: 1px solid rgba(220, 53, 69, 0.3);
}

.sudamericana-newsletter__hint {
  grid-column: 1 / -1;
  font-size: 0.85rem;
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
  margin-top: 0.5rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}

@media (max-width: 991.98px) {
  .sudamericana-newsletter__row {
    grid-template-columns: 1fr;
  }

  .sudamericana-newsletter__copy {
    order: 1;
  }

  .sudamericana-newsletter__form-col {
    order: 2;
    justify-content: flex-start;
  }

  .sudamericana-newsletter__panel {
    margin-left: 0;
    max-width: none;
  }
}

section.suda-credentials {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(3.5rem, 8vw, 5.25rem) 0;
  background: linear-gradient(180deg, #eef3fb 0%, #f7f9fc 42%, #ffffff 100%);
}

.suda-credentials__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(circle at top center, rgba(167, 4, 4, 0.08) 0%, transparent 42%),
    linear-gradient(180deg, #eef3fb 0%, #f7f9fc 42%, #ffffff 100%);
  pointer-events: none;
}

.suda-credentials__bg::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, #ff9800, transparent);
  opacity: 0.7;
}

.suda-credentials .container {
  position: relative;
  z-index: 1;
}

.suda-credentials__head {
  position: relative !important;
  top: auto !important;
  margin: 0 auto clamp(2.25rem, 5vw, 3.25rem);
  max-width: 40rem;
}

.suda-credentials__eyebrow {
  margin: 0 0 0.65rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #ff9800;
}

.suda-credentials__title {
  margin: 0 0 1rem;
  font-size: clamp(1.85rem, 4vw, 2.55rem);
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.12;
  text-transform: uppercase;
  color: #a70404 !important;
}

.suda-credentials__rule {
  display: block;
  width: 3.5rem;
  height: 3px;
  margin: 0 auto;
  border-radius: 2px;
  background: #ff9800;
}

.suda-cred-pass-grid {
  --suda-cred-pass-minh: 17.5rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  width: 100%;
  max-width: 100%;
}

.suda-cred-pass {
  position: relative;
  flex: 1 1 auto;
  width: 100%;
  min-height: var(--suda-cred-pass-minh);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: left;
  border-radius: 6px 18px 18px 6px;
  overflow: hidden;
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.06) 0%, transparent 42%),
    linear-gradient(168deg, #4a160b 0%, #2e0c05 46%, #160606 100%);
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow:
    0 22px 50px rgba(8, 18, 42, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.07);
  transition: transform 0.32s ease, box-shadow 0.32s ease, border-color 0.32s ease;
}

.suda-cred-pass__shine {
  position: absolute;
  inset: -40% -30%;
  background: linear-gradient(
    118deg,
    transparent 40%,
    rgba(255, 255, 255, 0.07) 48%,
    transparent 56%
  );
  transform: translateX(-18%);
  pointer-events: none;
  z-index: 0;
}

.suda-cred-pass__border-glow {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(167, 4, 4, 0.12);
  pointer-events: none;
  z-index: 2;
}

.suda-cred-pass__mast {
  position: relative !important;
  top: auto !important;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.85rem 1.1rem 0.65rem;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.18);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, transparent 100%);
}

.suda-cred-pass__event {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.28em;
  color: rgba(248, 250, 252, 0.88);
}

.suda-cred-pass__event-suda {
  color: #a70404;
}

.suda-cred-pass__chip {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: rgba(248, 250, 252, 0.72);
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(0, 0, 0, 0.2);
}

/* Sudamericana: chip "RJ de 2026 · RJ" em laranja da marca */
.confut-nordeste-theme .suda-cred-pass__chip {
  color: var(--confut-nordeste-secondary) !important;
  border-color: rgba(255, 152, 0, 0.38) !important;
  background: rgba(255, 152, 0, 0.14) !important;
}

.suda-cred-pass__perforation {
  height: 10px;
  margin: 0 1rem;
  background:
    radial-gradient(circle at 6px 50%, transparent 5px, rgba(255, 255, 255, 0.12) 5px) 0 0 / 14px 10px repeat-x;
  opacity: 0.85;
  position: relative;
  z-index: 1;
  margin-top:15px;
}

.suda-cred-pass__body {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  padding: 1.1rem 1.25rem 0.85rem;
}

.suda-cred-pass__tier {
  margin: 0 0 0.65rem;
  font-size: clamp(1.35rem, 3vw, 1.65rem);
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff !important;
  line-height: 1.12;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}

.suda-cred-pass__stub {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.65rem 1.25rem 0.85rem;
  border-top: 1px dashed rgba(255, 255, 255, 0.16);
  background: rgba(0, 0, 0, 0.18);
}

.suda-cred-pass__barcode {
  flex: 1 1 auto;
  height: 28px;
  max-width: 8.5rem;
  border-radius: 2px;
  background: repeating-linear-gradient(
    90deg,
    rgba(248, 250, 252, 0.92) 0 2px,
    rgba(248, 250, 252, 0.15) 2px 5px,
    rgba(248, 250, 252, 0.75) 5px 7px,
    rgba(248, 250, 252, 0.2) 7px 11px
  );
  opacity: 0.88;
  filter: contrast(1.05);
}

.suda-cred-pass__stub-text {
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.35em;
  color: rgba(248, 250, 252, 0.72);
  white-space: nowrap;
}

.suda-cred-pass__cta {
  position: relative;
  z-index: 3;
  display: block;
  margin: 0 1.25rem 1.2rem;
  padding: 0.72rem 1rem;
  text-align: center;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none !important;
  color: #2e0c05 !important;
  border-radius: 10px;
  background: linear-gradient(180deg, #fff 0%, #e8edf4 100%);
  border: 1px solid rgba(255, 255, 255, 0.35);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25);
  transition: transform 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}

.suda-cred-pass__cta:hover {
  color: #a70404 !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.28);
}

.suda-cred-pass--platinum {
  border-color: rgba(240, 215, 140, 0.35);
  box-shadow:
    0 26px 58px rgba(8, 18, 42, 0.32),
    0 0 0 1px rgba(240, 215, 140, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.suda-cred-pass--platinum .suda-cred-pass__border-glow {
  box-shadow:
    inset 0 0 0 1px rgba(240, 215, 140, 0.22),
    0 0 32px rgba(167, 4, 4, 0.12);
}

@media (hover: hover) and (pointer: fine) {
  .suda-cred-pass:hover {
    transform: translateY(-4px);
    box-shadow:
      0 30px 60px rgba(8, 18, 42, 0.34),
      inset 0 1px 0 rgba(255, 255, 255, 0.09);
    border-color: rgba(167, 4, 4, 0.35);
  }
}

@media (min-width: 768px) {
  .suda-cred-pass-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 120px;
  }
}

@media (min-width: 992px) {
  .suda-cred-pass-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .suda-cred-pass-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .suda-cred-pass-grid {
    --suda-cred-pass-minh: 14rem;
  }

  .suda-cred-pass:hover {
    transform: none;
  }
}

@media (min-width: 768px) {
  .suda-cred-tier-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 992px) {
  .suda-cred-tier-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Cards de ingresso */
.confut-nordeste-theme .de-pricing-s1 {
  border-radius: 12px;
  border: 1px solid var(--event-border);
  box-shadow: 0 8px 24px rgba(var(--primary-color-rgb), 0.08);
  overflow: hidden;
  background-color: var(--event-bg);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}

.confut-nordeste-theme .de-pricing-s1:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(var(--primary-color-rgb), 0.12);
  border-color: var(--primary-color);
}

.confut-nordeste-theme .de-pricing-s1 .d-content {
  padding: 48px 32px;
  background-color: var(--event-bg);
  position: relative;
  z-index: 5;
}

.confut-nordeste-theme .de-pricing-s1 .d-content h3 {
  color: var(--event-text);
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  font-family: var(--event-font);
}

.confut-nordeste-theme .de-pricing-s1 .d-content .d-price {
  color: var(--primary-color);
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1;
  margin: 1.5rem 0;
  text-align: center;
  font-family: var(--event-font);
}

.confut-nordeste-theme .de-pricing-s1 .d-list {
  list-style: none;
  padding: 2rem 0 0 0;
  color: var(--event-text);
  border-top: 1px solid var(--event-border);
}

.confut-nordeste-theme .de-pricing-s1 .d-list li {
  border-bottom: 1px solid var(--event-border);
  padding: 1rem 0;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.5;
  font-family: var(--event-font);
}

.confut-nordeste-theme .de-pricing-s1 .d-list li:before {
  color: var(--primary-color);
  margin-right: 12px;
  font-weight: 700;
}

/* Formulários */
.confut-nordeste-theme .form-control {
  border: 1px solid var(--event-border);
  border-radius: 6px;
  padding: 12px 16px;
  font-size: 1rem;
  font-family: var(--event-font);
  transition: all 0.2s ease;
  background-color: var(--event-bg);
  color: var(--event-text);
}

.confut-nordeste-theme .form-control:focus {
  border-color: var(--primary-color);
  box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.12);
  outline: none;
}

/* Accordion ativo */
.confut-nordeste-theme .accordion-section-title {
  font-family: var(--event-font);
  color: var(--event-text);
  background-color: var(--event-bg);
  border: 1px solid var(--event-border);
  border-radius: 6px;
  padding: 1.2rem;
  margin-bottom: 0.8rem;
}

.confut-nordeste-theme .accordion-section-title.active {
  border-left: 4px solid var(--primary-color);
  border-left-color: var(--primary-color);
  color: var(--primary-color);
  background-color: rgba(var(--primary-color-rgb), 0.06);
}

/* Responsivo comum dos temas */
@media (max-width: 1199.98px) {
  .confut-nordeste-theme .de-pricing-s1 .d-content {
    padding: 40px 28px;
  }
  .confut-nordeste-theme .de-pricing-s1 .d-content .d-price {
    font-size: 2.8rem;
  }
}

@media (max-width: 991.98px) {
  .confut-nordeste-theme .de-pricing-s1 {
    margin-bottom: 2rem;
  }
  .confut-nordeste-theme .de-pricing-s1 .d-content {
    padding: 36px 24px;
  }
  .confut-nordeste-theme .de-pricing-s1 .d-content .d-price {
    font-size: 2.4rem;
  }
}

@media (max-width: 767.98px) {
  .confut-nordeste-theme .btn-main {
    padding: 12px 28px;
    font-size: 0.95rem;
    width: 100%;
    text-align: center;
  }
  .confut-nordeste-theme .btn-main.big {
    padding: 14px 28px;
    font-size: 1rem;
  }
}

@media (max-width: 575.98px) {
  .confut-nordeste-theme .de-pricing-s1 .d-content {
    padding: 28px 20px;
  }
  .confut-nordeste-theme .de-pricing-s1 .d-content h3 {
    font-size: 1.2rem;
  }
  .confut-nordeste-theme .de-pricing-s1 .d-content .d-price {
    font-size: 2rem;
    margin: 1rem 0;
  }
  .confut-nordeste-theme .accordion-section-title {
    padding: 1rem;
    font-size: 0.95rem;
  }
}

/* ========== Hero Vídeo — Confut Nordeste ========== */
.confut-nordeste-theme .nordeste-hero-video-section {
  position: relative;
  overflow: hidden;
  min-height: 100vh;
  isolation: isolate; /* cria stacking context próprio */
}

/* Vídeo: camada base, atrás de tudo */
.confut-nordeste-theme .event-hero-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  z-index: 0;
  pointer-events: none;
}

/* Overlay escuro gradiente */
.confut-nordeste-theme .event-hero-video-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    160deg,
    rgba(8, 10, 14, 0.48) 0%,
    rgba(12, 14, 18, 0.62) 50%,
    rgba(4, 6, 10, 0.82) 100%
  );
  z-index: 1;
  pointer-events: none;
}

/* Grain — pseudo-element sobre o overlay, abaixo do texto */
.confut-nordeste-theme .nordeste-hero-video-section::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.78' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 180px 180px;
  opacity: 0.07;
  mix-blend-mode: overlay;
}

/* Container do texto: topo do stack, centralizado verticalmente */
.confut-nordeste-theme .nordeste-hero-video-section > .container {
  position: relative;
  z-index: 10;
  min-height: 100vh;
  display: flex;
  align-items: center;
}

@media (max-width: 991.98px) {
  .confut-nordeste-theme .nordeste-hero-video-section > .container {
    align-items: flex-start;
    justify-content: center;
    padding-top: max(5.25rem, calc(env(safe-area-inset-top, 0px) + 4.75rem));
    padding-left: max(1rem, env(safe-area-inset-left, 0px));
    padding-right: max(1rem, env(safe-area-inset-right, 0px));
    box-sizing: border-box;
    min-height: min(100vh, 100dvh);
  }

  .confut-nordeste-theme #section-hero.nordeste-hero-video-section h5.s2 {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 0.65rem;
    padding: 12px 16px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: min(100%, 26rem);
    text-align: left !important;
  }

  .confut-nordeste-theme #section-hero.nordeste-hero-video-section h5.s2 span {
    margin: 0 !important;
    display: flex !important;
    align-items: flex-start;
    gap: 0.5rem;
    text-align: left !important;
  }

  .confut-nordeste-theme #section-hero.nordeste-hero-video-section h5.s2 span .id-color {
    flex-shrink: 0;
    margin-top: 0.15rem;
  }
}

.confut-nordeste-theme .nordeste-hero-video-section > .container > .row {
  width: 100%;
}

.confut-nordeste-theme .nordeste-hero-video-section .de-gradient-edge-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 5;
}

/* Macro legado (event.php?e=nordeste): mesma barra lateral — esconder no mobile */
@media (max-width: 991.98px) {
  body.event-nordeste #wrapper > .float-text {
    display: none !important;
  }
}

/* ========================================================================
   Nordeste event page refactoring — component overrides
   ======================================================================== */

/* About section spacing */
.confut-nordeste-theme .section-aboutus {
  padding-top: 80px;
  padding-bottom: 60px;
}

/* Why-choose section — ensure dark bg headings are white */
.confut-nordeste-theme .why-choose-area.bg-dark h2,
.confut-nordeste-theme .why-choose-area.bg-dark h3,
.confut-nordeste-theme .why-choose-area.bg-dark .title {
  color: #ffffff;
  -webkit-text-fill-color: #ffffff;
}
.confut-nordeste-theme .why-choose-area.bg-dark p,
.confut-nordeste-theme .why-choose-area.bg-dark .desc {
  color: rgba(255, 255, 255, 0.75);
  -webkit-text-fill-color: rgba(255, 255, 255, 0.75);
}

/* Nordeste primary color for why-choose check icons */
.confut-nordeste-theme .te-list-item .icon {
  background-color: var(--confut-nordeste-primary);
  color: #ffffff;
}

/* CTA Banner — preserve gradient (section-dark prevents white override) */
.confut-nordeste-theme .home-cta-banner {
  background: linear-gradient(90deg, #7a0404 0%, #a70404 100%) !important;
}

.confut-nordeste-theme .home-cta-banner {
  background: #ffffff !important;
  border-top-color: #ff9800;
  color: #222222;
}

.confut-nordeste-theme .home-cta-banner__title,
.confut-nordeste-theme .home-cta-banner__copy {
  color: #222222 !important;
}

.confut-nordeste-theme .home-cta-banner__title--sudamericana {
  font-size: clamp(2rem, 3vw, 3.2rem);
  line-height: 1.02;
  max-width: 14ch;
  text-shadow: none;
}

.confut-nordeste-theme .home-cta-banner__copy {
  font-size: 1.05rem;
  line-height: 1.55;
  max-width: 42rem;
  opacity: 0.95;
}

.confut-nordeste-theme .home-cta-banner__social {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  flex-wrap: wrap;
}

.confut-nordeste-theme .home-cta-banner__social-link {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  background: #a70404;
  border: 1px solid rgba(167, 4, 4, 0.22);
  box-shadow: 0 10px 24px rgba(167, 4, 4, 0.16);
  transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.confut-nordeste-theme .home-cta-banner__social-link:hover,
.confut-nordeste-theme .home-cta-banner__social-link:focus {
  color: #ffffff;
  background: #ff9800;
  border-color: rgba(255, 152, 0, 0.34);
  transform: translateY(-2px);
}

.confut-nordeste-theme .home-cta-banner__button {
  min-width: 270px;
}

@media (max-width: 991.98px) {
  .confut-nordeste-theme .home-cta-banner__title--sudamericana {
    max-width: none;
  }

  .confut-nordeste-theme .home-cta-banner__button {
    min-width: 240px;
  }
}

@media (max-width: 767.98px) {
  .confut-nordeste-theme .home-cta-banner__copy {
    font-size: 0.98rem;
  }

.confut-nordeste-theme .home-cta-banner__social {
    justify-content: center;
  }
}

/* (FAQ Nordeste — bloco antigo removido; substituído por estrutura accordion
    no final do arquivo, espelhando o padrão da Confut USA com paleta vermelho/laranja.) */

/* ========== Footer Nordeste ========== */
.confut-nordeste-theme footer.footer-sudamericana {
  position: relative;
  padding: 2.75rem 0;
  background: rgba(30, 7, 7, 0.98) !important;
  border-top: 3px solid #a70404;
  overflow: hidden;
}

.confut-nordeste-theme footer.footer-sudamericana::before {
  content: none;
}

.confut-nordeste-theme .footer-sudamericana__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 1.5rem 1.75rem;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 20px 44px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(10px);
}

.confut-nordeste-theme .footer-sudamericana__brand {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.confut-nordeste-theme .footer-sudamericana__meta {
  margin: 0;
  color: rgba(232, 239, 255, 0.74);
  font-size: 0.92rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
}

.confut-nordeste-theme .footer-sudamericana__copyright {
  color: #ffffff;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: right;
}

.confut-nordeste-theme .footer-sudamericana__copyright span {
  color: rgba(255, 255, 255, 0.94);
}

.confut-nordeste-theme #back-to-top {
  background: rgba(5, 11, 24, 0.9);
  border: 1px solid rgba(167, 4, 4, 0.45);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.24);
}

.confut-nordeste-theme #back-to-top:hover {
  background: #a70404;
}

.confut-nordeste-theme #back-to-top:before {
  color: #ffffff !important;
}

@media (max-width: 991.98px) {
  .confut-nordeste-theme .footer-sudamericana__inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .confut-nordeste-theme .footer-sudamericana__copyright {
    text-align: left;
  }
}

@media (max-width: 767.98px) {
  .confut-nordeste-theme footer.footer-sudamericana {
    padding: 2.1rem 0;
  }

  .confut-nordeste-theme .footer-sudamericana__inner {
    padding: 1.3rem 1.1rem;
    border-radius: 20px;
  }

  .confut-nordeste-theme .footer-sudamericana__brand {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Testimonials dark section */
.confut-nordeste-theme .bg-dark.section-dark .de_testi blockquote p,
.confut-nordeste-theme .bg-dark.section-dark .de_testi_by span {
  color: rgba(255, 255, 255, 0.85);
}

/* de_count on dark sections */
.confut-nordeste-theme .bg-dark .de_count {
  color: rgba(255, 255, 255, 0.65);
}
.confut-nordeste-theme .bg-dark .de_count h3,
.confut-nordeste-theme .bg-dark .de_count h3 .timer {
  color: #ffffff;
}

/* Stats icon color override — use nordeste secondary (orange) */
.confut-nordeste-theme .bg-dark .de_count .id-color {
  color: var(--confut-nordeste-secondary) !important;
}

/* FAQ content text */
.confut-nordeste-theme .faq-section .accordion-section-content {
  color: #35404e;
}

/* Speakers section subtitle pill */
.confut-nordeste-theme #section-speakers .subtitle {
  display: inline-block;
  background-color: var(--confut-nordeste-secondary) !important;
  color: #ffffff !important;
}

/* Event tickets: same markup as Buy Tickets (white section) */
/* Ticket cards: css/event-tickets-section.css */

/* ========== Grand Hyatt Rio de Janeiro Section ========== */
.grand-hyatt-section {
  background: linear-gradient(135deg, #f8f9fc 0%, #ffffff 100%) !important;
  padding: 4.5rem 0 !important;
  position: relative;
}

.grand-hyatt-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle at 100% 0%, rgba(167, 4, 4, 0.05) 0%, transparent 70%);
  pointer-events: none;
}

.grand-hyatt-image {
  height: 540px !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 40px rgba(167, 4, 4, 0.15) !important;
}

.grand-hyatt-deco {
  background-color: #a70404 !important;
  border-radius: 4px !important;
}

.grand-hyatt-content {
  position: relative;
  z-index: 1;
  padding: 0 1.5rem;
}

.grand-hyatt-title {
  font-size: clamp(2.25rem, 5vw, 3.25rem);
  font-weight: 800;
  line-height: 1.15;
  color: #a70404;
  margin-bottom: 0.75rem;
  letter-spacing: -0.5px;
}

.grand-hyatt-location {
  display: block;
  color: #ff9800;
  font-weight: 800;
  margin-top: 0.25rem;
}

.grand-hyatt-subtitle {
  font-size: 1.2rem;
  font-weight: 600;
  color: #111111;
  margin-bottom: 2rem;
  letter-spacing: 0.3px;
}

.grand-hyatt-text {
  font-size: 0.95rem;
  line-height: 1.75;
  color: #4a5568;
  margin-bottom: 1.5rem;
  font-weight: 400;
}

.grand-hyatt-highlight {
  font-size: 1rem;
  line-height: 1.75;
  color: #a70404;
  font-weight: 600;
  margin-bottom: 0;
  padding: 1.25rem;
  background: rgba(167, 4, 4, 0.08);
  border-left: 4px solid #a70404;
  border-radius: 4px;
}

@media (max-width: 767px) {
  .grand-hyatt-content {
    padding: 0;
    margin-top: 2rem;
  }

  .grand-hyatt-title {
    font-size: 2rem;
  }
}

/* Videos showcase: mirrors the Confut USA home video treatment */
.event-videos-showcase {
  --usa-radius: 16px;
  position: relative;
  isolation: isolate;
  overflow-x: hidden;
  scroll-margin-top: 120px;
  /* Sobe o header (título + linha) dentro do fundo escuro */
  padding: clamp(5.25rem, 10vw, 7.25rem) 0 clamp(3.5rem, 8vw, 5.5rem);
  color: #35404e;
}

.event-videos-showcase .usa-videos-showcase__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: #ffffff;
  pointer-events: none;
}

.event-videos-showcase .usa-videos-showcase__bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 45% at 50% 0%, rgba(var(--primary-color-rgb), 0.12) 0%, transparent 55%);
  pointer-events: none;
}

.event-videos-showcase .container {
  position: relative;
  z-index: 1;
}

.event-videos-showcase .usa-videos-showcase__head {
  max-width: 50rem;
  margin: 0 auto;
  /* Sobe levemente para centralizar no espaço escuro (sem alterar z-index) */
  transform: translateY(clamp(-0.85rem, -1.2vw, -1.35rem));
}

.event-videos-showcase .event-videos-showcase__head {
  /* Mais espaço entre título/linha e o vídeo (evita sobreposição) */
  margin-bottom: clamp(6.5rem, 12vw, 9.25rem);
}

.event-videos-showcase .usa-videos-showcase__eyebrow {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--primary-color) !important;
  margin-bottom: 0.65rem;
}

.event-videos-showcase .usa-videos-showcase__title {
  color: var(--confut-nordeste-secondary) !important;
}

.event-videos-showcase .usa-video-feature__caption,
.event-videos-showcase .usa-video-thumb__label {
  color: #222 !important;
}

.event-videos-showcase .usa-videos-showcase__title {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.08;
  margin: 0 0 1.1rem !important;
  color: var(--confut-nordeste-secondary) !important;
  text-shadow: 0 2px 22px rgba(0, 0, 0, 0.35);
}

.event-videos-showcase .usa-videos-showcase__rule {
  display: block;
  width: 5rem;
  height: 3px;
  margin: 0 auto;
  background: linear-gradient(90deg, var(--primary-color), rgba(var(--primary-color-rgb), 0.2));
  border-radius: 2px;
  box-shadow: 0 0 16px rgba(var(--primary-color-rgb), 0.25);
}

.event-videos-showcase .usa-videos-showcase__layout {
  display: flex;
  flex-direction: column;
  gap: clamp(1.4rem, 3vw, 2.1rem);
}

.event-videos-showcase .usa-videos-showcase__featured,
.event-videos-showcase .usa-videos-carousel {
  width: 100%;
  max-width: min(76rem, 100%);
  margin: 0 auto;
}

.event-videos-showcase .usa-videos-showcase__featured {
  /* distância extra do header (sem depender de z-index) */
  margin-top: clamp(3rem, 6vw, 4.5rem);
}

.event-videos-showcase .usa-video-feature__stage {
  position: relative;
  border-radius: calc(var(--usa-radius) + 8px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.56), 0 0 0 1px rgba(var(--primary-color-rgb), 0.16), 0 0 56px rgba(var(--primary-color-rgb), 0.14);
}

.event-videos-showcase .usa-video-feature__trigger {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  cursor: pointer;
  background: #120505;
  border-radius: inherit;
}

.event-videos-showcase .usa-video-feature__thumb,
.event-videos-showcase .usa-video-thumb__img {
  width: 100%;
  height: 100%;
  display: block;
  aspect-ratio: 16/9;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.event-videos-showcase .usa-video-feature__overlay,
.event-videos-showcase .usa-video-thumb__shade {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.event-videos-showcase .usa-video-feature__overlay {
  background: linear-gradient(180deg, rgba(6, 10, 18, 0.2) 0%, rgba(6, 10, 18, 0.65) 100%);
}

.event-videos-showcase .usa-video-feature__play,
.event-videos-showcase .usa-video-thumb__play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  pointer-events: none;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.5);
  transition: transform 0.3s ease, filter 0.3s ease;
}

.event-videos-showcase .usa-video-feature__play {
  font-size: clamp(2.5rem, 6vw, 3.5rem);
}

.event-videos-showcase .usa-video-feature__play::before,
.event-videos-showcase .usa-video-thumb__play::before {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(var(--primary-color-rgb), 0.38);
  border: 1px solid rgba(255, 255, 255, 0.45);
  z-index: -1;
}

.event-videos-showcase .usa-video-feature__play::before {
  width: clamp(4.25rem, 12vw, 5.5rem);
  height: clamp(4.25rem, 12vw, 5.5rem);
  border-width: 2px;
  box-shadow: 0 0 28px rgba(var(--primary-color-rgb), 0.35);
}

.event-videos-showcase .usa-video-feature__embed {
  position: relative;
  width: 100%;
  background: #000;
}

.event-videos-showcase .usa-video-feature__iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  border: 0;
}

.event-videos-showcase .usa-video-feature__caption {
  margin: 1rem 0 0;
  font-size: clamp(0.92rem, 1.7vw, 1.05rem);
  font-weight: 700;
  color: rgba(248, 250, 252, 0.95) !important;
  text-align: center;
  line-height: 1.35;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.event-videos-showcase .usa-videos-carousel {
  position: relative;
  display: flex;
  align-items: stretch;
  gap: 0.35rem;
}

.event-videos-showcase .usa-videos-carousel__viewport {
  flex: 1;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 0.5rem 0 0.65rem;
  outline: none;
}

.event-videos-showcase .usa-videos-carousel__viewport::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.event-videos-showcase .usa-videos-carousel__track {
  display: flex;
  flex-flow: row nowrap;
  gap: clamp(0.85rem, 2vw, 1.15rem);
  width: max-content;
  padding: 0.45rem 0.25rem 0.75rem;
}

.event-videos-showcase .usa-video-thumb {
  flex: 0 0 auto;
  width: min(11rem, 78vw);
  scroll-snap-align: start;
}

.event-videos-showcase .usa-videos-carousel__arrow {
  display: none;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  align-self: center;
  margin-bottom: 0.55rem;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 10px;
  background: rgba(13, 26, 46, 0.92);
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.95rem;
  cursor: pointer;
  z-index: 3;
  transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.event-videos-showcase .usa-video-thumb__btn {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 0.2rem;
  margin: -0.2rem;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
  border-radius: calc(var(--usa-radius) + 2px);
}

.event-videos-showcase .usa-video-thumb__media {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  border-radius: calc(var(--usa-radius) + 2px);
  overflow: hidden;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.44);
  border: 2px solid rgba(255, 255, 255, 0.08);
  transition: border-color 0.3s ease, box-shadow 0.35s ease, transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.event-videos-showcase .usa-video-thumb__shade {
  background: rgba(4, 8, 16, 0.45);
  transition: background 0.3s ease;
}

.event-videos-showcase .usa-video-thumb__play {
  font-size: 1.35rem;
}

.event-videos-showcase .usa-video-thumb__play::before {
  width: 2.75rem;
  height: 2.75rem;
}

.event-videos-showcase .usa-video-thumb__label {
  margin-top: 0.55rem;
  font-size: 0.8rem;
  font-weight: 700;
  color: rgba(248, 250, 252, 0.9);
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.event-videos-showcase .usa-video-thumb.is-active .usa-video-thumb__media {
  border-color: rgba(var(--primary-color-rgb), 0.95);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.55), 0 0 0 2px rgba(var(--primary-color-rgb), 0.65), 0 0 32px rgba(var(--primary-color-rgb), 0.28);
  transform: scale(1.01);
}

.event-videos-showcase .usa-video-thumb.is-active .usa-video-thumb__label,
.event-videos-showcase .usa-video-thumb__btn:hover .usa-video-thumb__label {
  color: #fff;
}

.event-videos-showcase .usa-video-thumb.is-active .usa-video-thumb__shade {
  background: rgba(4, 8, 16, 0.28);
}

@media (min-width: 480px) {
  .event-videos-showcase .usa-video-thumb {
    width: min(11.75rem, 44vw);
  }
}

@media (min-width: 768px) {
  .event-videos-showcase .usa-videos-carousel__arrow {
    display: flex;
  }

  .event-videos-showcase .usa-video-thumb {
    width: min(13rem, 32vw);
  }
}

@media (min-width: 992px) {
  .event-videos-showcase .usa-video-thumb {
    width: 13.25rem;
  }
}

@media (hover: hover) and (pointer: fine) {
  .event-videos-showcase .usa-video-feature__trigger:hover .usa-video-feature__thumb {
    transform: scale(1.03);
  }

  .event-videos-showcase .usa-video-feature__trigger:hover .usa-video-feature__play {
    transform: scale(1.06);
    filter: drop-shadow(0 0 12px rgba(var(--primary-color-rgb), 0.6));
  }

  .event-videos-showcase .usa-videos-carousel__arrow:hover {
    background: rgba(var(--primary-color-rgb), 0.25);
    border-color: rgba(var(--primary-color-rgb), 0.55);
    box-shadow: 0 0 18px rgba(var(--primary-color-rgb), 0.2);
  }

  .event-videos-showcase .usa-video-thumb__btn:hover .usa-video-thumb__media {
    border-color: rgba(var(--primary-color-rgb), 0.5);
    box-shadow: 0 20px 44px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(var(--primary-color-rgb), 0.35), 0 0 24px rgba(var(--primary-color-rgb), 0.12);
    transform: scale(1.03);
  }

  .event-videos-showcase .usa-video-thumb__btn:hover .usa-video-thumb__img {
    transform: scale(1.06);
  }

  .event-videos-showcase .usa-video-thumb__btn:hover .usa-video-thumb__shade {
    background: rgba(4, 8, 16, 0.32);
  }
}

/* ========== SUDAMERICANA CREDENTIALS PAGE ========== */

.confut-nordeste-theme #content .sudamericana-cred-page,
.sudamericana-cred-page.confut-nordeste-theme {
  --suda-cred-page-scroll: max(5.5rem, calc(env(safe-area-inset-top, 0px) + 4.5rem));
}

.sudamericana-cred-page__topo {
  position: relative;
  z-index: 2;
  padding: clamp(5.25rem, 11vw, 6.75rem) 0 clamp(1.75rem, 4vw, 2.5rem);
  margin: 0;
  color: #fff;
  overflow: hidden;
  text-align: center;
}

.sudamericana-cred-page__topo-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(120% 80% at 20% 0%, rgba(167, 4, 4, 0.22) 0%, transparent 55%),
    radial-gradient(90% 70% at 100% 40%, rgba(255, 152, 0, 0.12) 0%, transparent 50%),
    linear-gradient(165deg, #240808 0%, #3a0d0d 42%, #180606 100%);
  pointer-events: none;
}

.sudamericana-cred-page__topo-bg::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4px;
  background: linear-gradient(90deg, transparent, #a70404, rgba(255, 255, 255, 0.35), transparent);
  opacity: 0.85;
}

.sudamericana-cred-page__topo .container {
  position: relative;
  z-index: 1;
}

.sudamericana-cred-page__topo-title {
  font-size: clamp(1.75rem, 4.2vw, 2.65rem);
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.12;
  margin: 0 0 0.65rem;
  color: #fff;
}

.sudamericana-cred-page__topo-lead {
  font-size: clamp(0.95rem, 2vw, 1.08rem);
  line-height: 1.55;
  color: rgba(230, 238, 255, 0.88);
  margin: 0 auto 1.5rem;
  max-width: 32rem;
}

.sudamericana-cred-page__tabs {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.35rem;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.sudamericana-cred-page__tab {
  appearance: none;
  border: none;
  cursor: pointer;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 0.85rem 1.35rem;
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.78);
  background: transparent;
  transition:
    color 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease;
}

.sudamericana-cred-page__tab:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

.sudamericana-cred-page__tab.is-active {
  color: #240808;
  background: linear-gradient(180deg, #fff 0%, #e8edf4 100%);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
}

.sudamericana-cred-page__tab:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.85);
  outline-offset: 3px;
}

.sudamericana-cred-page__panels {
  position: relative;
  z-index: 1;
}

.sudamericana-cred-page__panel {
  display: none;
  margin: 0;
}

.sudamericana-cred-page__panel.is-active {
  display: block;
}

/* Credentials & Accommodation sections */
.sudamericana-cred-page__section--credentials-inner {
  padding: clamp(2.75rem, 7vw, 4rem) 0 clamp(3.25rem, 8vw, 4.5rem);
  background: linear-gradient(180deg, #fafbfd 0%, #f0f3f8 100%);
}

.sudamericana-cred-page__section--accommodation-inner {
  padding: clamp(2.75rem, 7vw, 4rem) 0 clamp(3.25rem, 8vw, 4.5rem);
  background: linear-gradient(180deg, #eef1f6 0%, #fafbfd 100%);
}

.sudamericana-cred-page__section-head {
  text-align: center;
  max-width: 40rem;
  margin: 0 auto clamp(2rem, 4vw, 2.75rem);
}

.sudamericana-cred-page__section-title {
  font-size: clamp(1.5rem, 3.2vw, 2rem);
  font-weight: 800;
  color: #240808;
  letter-spacing: 0.02em;
  margin: 0 0 0.65rem;
  line-height: 1.2;
}

.sudamericana-cred-page__section-lead {
  font-size: 1.05rem;
  line-height: 1.6;
  color: #4a5a70;
  margin: 0 0 1rem;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .sudamericana-cred-page__topo {
    padding: 4rem 0 1.5rem;
  }

  .sudamericana-cred-page__tabs {
    gap: 0.25rem;
  }

  .sudamericana-cred-page__tab {
    font-size: 0.65rem;
    padding: 0.7rem 1rem;
  }

  .sudamericana-cred-page__section-head {
    margin: 0 auto 1.5rem;
  }
}

/* Credentials & Accommodation content styles */
.sudamericana-cred-credentials,
.sudamericana-cred-accommodation {
  padding: clamp(2rem, 5vw, 3.5rem) 0;
}

.sudamericana-cred-title-badge {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #a70404;
  margin-bottom: 1rem;
}

.sudamericana-cred-panel-title {
  font-size: clamp(1.75rem, 3.5vw, 2.25rem);
  font-weight: 800;
  color: #240808;
  margin-bottom: 1rem;
  line-height: 1.2;
}

.sudamericana-cred-panel-lead {
  font-size: 1.05rem;
  line-height: 1.6;
  color: #4a5a70;
  margin-bottom: 2.5rem;
  max-width: 45rem;
}

.sudamericana-credentials-grid {
  margin-top: 2rem;
}

.sudamericana-cred-card {
  background: #ffffff;
  border: 1px solid rgba(167, 4, 4, 0.1);
  border-radius: 12px;
  padding: 2rem 1.5rem;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.sudamericana-cred-card:hover {
  border-color: rgba(167, 4, 4, 0.3);
  box-shadow: 0 8px 24px rgba(167, 4, 4, 0.15);
  transform: translateY(-4px);
}

.sudamericana-cred-card__title {
  font-size: 1.25rem;
  font-weight: 800;
  color: #240808;
  margin-bottom: 1rem;
}

.sudamericana-cred-card__description {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #4a5a70;
  margin-bottom: 1.5rem;
}

.sudamericana-cred-card__cta {
  margin-top: auto;
}

.sudamericana-cred-card__cta .btn-main {
  width: 100%;
}

/* Accommodation section */
.sudamericana-cred-accommodation {
  background: linear-gradient(180deg, #f8f9fb 0%, #f0f3f8 100%);
}

.sudamericana-accommodation-card {
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}

.sudamericana-accommodation-card:hover {
  box-shadow: 0 12px 32px rgba(167, 4, 4, 0.2);
  transform: translateY(-6px);
}

.sudamericana-accommodation-card__image {
  width: 100%;
  height: auto;
  display: block;
}

.sudamericana-accommodation-card__content {
  padding: 2.5rem;
}

.sudamericana-accommodation-card__title {
  font-size: 1.5rem;
  font-weight: 800;
  color: #240808;
  margin-bottom: 1rem;
}

.sudamericana-accommodation-card__description {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #4a5a70;
  margin-bottom: 2rem;
}

.sudamericana-accommodation-card__cta {
  display: flex;
  gap: 1rem;
}

.sudamericana-accommodation-card__cta .btn-main {
  flex: 1;
}

@media (max-width: 768px) {
  .sudamericana-cred-card {
    padding: 1.5rem;
  }

  .sudamericana-accommodation-card__content {
    padding: 1.5rem;
  }

  .sudamericana-accommodation-card__title {
    font-size: 1.25rem;
  }
}

/* ========== REFACTOR PAGE OVERRIDES (standalone pages: credentials, faq, programming) ========== */

.nordeste-refactor .sudamericana-cred-page__topo,
.nordeste-refactor .sudamericana-cred-page__topo-bg,
.nordeste-refactor .sudamericana-cred-page__topo-bg::after,
.nordeste-refactor .sudamericana-cred-page__topo .container,
.nordeste-refactor .sudamericana-cred-page__topo-title,
.nordeste-refactor .sudamericana-cred-page__topo-lead,
.nordeste-refactor .sudamericana-cred-page__tabs,
.nordeste-refactor .sudamericana-cred-page__tab,
.nordeste-refactor .sudamericana-cred-page__tab:hover,
.nordeste-refactor .sudamericana-cred-page__tab.is-active,
.nordeste-refactor .sudamericana-cred-page__tab:focus-visible,
.nordeste-refactor .sudamericana-cred-page__panels,
.nordeste-refactor .sudamericana-cred-page__panel,
.nordeste-refactor .sudamericana-cred-page__panel.is-active {
  /* Inherit from base styles above */
}

/* Section panels should inherit styles */
.nordeste-refactor .sudamericana-cred-credentials,
.nordeste-refactor .sudamericana-cred-accommodation,
.nordeste-refactor .sudamericana-cred-credentials .sudamericana-cred-title-badge,
.nordeste-refactor .sudamericana-cred-accommodation .sudamericana-cred-title-badge {
  /* Inherit from base styles */
}

/* ========== FORCE VISIBLE STYLES FOR REFACTOR PAGES ========== */

.sudamericana-cred-page {
  display: block !important;
}

.sudamericana-cred-page__topo {
  background: linear-gradient(165deg, #240808 0%, #3a0d0d 42%, #180606 100%) !important;
  color: #ffffff !important;
}

.sudamericana-cred-page__panels {
  display: block !important;
}

.sudamericana-cred-page__panel {
  display: none !important;
}

.sudamericana-cred-page__panel.is-active {
  display: block !important;
}

.sudamericana-cred-credentials,
.sudamericana-cred-accommodation {
  background: linear-gradient(180deg, #fafbfd 0%, #f0f3f8 100%) !important;
  display: block !important;
}

/* Ensure grid works */
.sudamericana-credentials-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 2rem !important;
}

.sudamericana-cred-card {
  background: #ffffff !important;
  border: 1px solid rgba(167, 4, 4, 0.1) !important;
  border-radius: 12px !important;
  padding: 2rem !important;
  display: flex !important;
  flex-direction: column !important;
}

.sudamericana-accommodation-card {
  background: #ffffff !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* ========== FAQ PAGE — paridade visual com Confut USA, paleta vermelho/laranja ========== */

.sudamericana-page-hero {
  position: relative;
  overflow-x: clip;
  padding: calc(clamp(2.5rem, 6vw, 3.75rem) + 96px) 0 clamp(2.5rem, 6vw, 3.75rem);
  background: linear-gradient(118deg, #7a0404 0%, #a70404 42%, #3a0d0d 100%);
  color: #ffffff;
}

.sudamericana-page-hero__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 70% 80% at 100% 0%, rgba(255, 152, 0, 0.35), transparent 52%),
    radial-gradient(ellipse 60% 70% at 0% 0%, rgba(255, 255, 255, 0.10), transparent 58%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(0, 0, 0, 0.16) 100%);
}

.sudamericana-page-hero .container {
  position: relative;
  z-index: 1;
}

.confut-nordeste-theme .sudamericana-page-hero__title,
.sudamericana-page-hero__title {
  margin: 0;
  font-size: clamp(1.65rem, 4vw, 2.35rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #ffffff !important;
  line-height: 1.15;
}

.sudamericana-page-hero__sub {
  margin: 0.65rem 0 0;
  font-size: 1rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.92);
  max-width: 36rem;
}

.sudamericana-faq-wrap {
  padding: clamp(2.5rem, 6vw, 4rem) 0 clamp(3rem, 7vw, 4.5rem);
  background: linear-gradient(180deg, #f4f7fb 0%, #ffffff 22%, #ffffff 100%);
}

.sudamericana-faq {
  max-width: 760px;
  margin: 0 auto;
}

.sudamericana-faq__item {
  border-bottom: 1px solid rgba(36, 8, 8, 0.1);
}

.sudamericana-faq__item:first-child {
  border-top: 1px solid rgba(36, 8, 8, 0.1);
}

.sudamericana-faq__question {
  width: 100%;
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.2rem 0;
  margin: 0;
  background: none;
  border: none;
  border-radius: 4px;
  text-align: left;
  font-size: clamp(1rem, 2.4vw, 1.08rem);
  font-weight: 700;
  color: #240808;
  line-height: 1.35;
  cursor: pointer;
  transition: color 0.2s ease;
}

.sudamericana-faq__question:hover,
.sudamericana-faq__question:focus-visible {
  color: #a70404;
}

.sudamericana-faq__question:focus-visible {
  outline: 2px solid #a70404;
  outline-offset: 4px;
}

.sudamericana-faq__question::after {
  content: '+';
  font-size: 1.45rem;
  font-weight: 400;
  color: #a70404;
  flex-shrink: 0;
  line-height: 1;
  transition: transform 0.25s ease, color 0.2s ease;
}

.sudamericana-faq__item.is-open .sudamericana-faq__question::after {
  content: '−';
  color: #ff9800; /* laranja quando expandido — micro-feedback de estado */
  transform: rotate(180deg);
}

.sudamericana-faq__answer {
  padding: 0 0 1.25rem;
  color: #3d4f66;
  line-height: 1.68;
  font-size: 0.98rem;
}

.sudamericana-faq__answer:not([hidden]) {
  animation: sudamericana-faq-answer-in 0.3s ease;
}

@keyframes sudamericana-faq-answer-in {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.sudamericana-faq__answer a {
  color: #a70404;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.sudamericana-faq__answer a:hover,
.sudamericana-faq__answer a:focus-visible {
  color: #7a0404;
}

.sudamericana-faq__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  margin-top: 0.35rem;
  padding: 0.55rem 1.15rem;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.92rem;
  text-decoration: none;
  background: linear-gradient(135deg, #a70404 0%, #7a0404 100%);
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 6px 18px rgba(167, 4, 4, 0.35);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.25s ease;
}

.sudamericana-faq__btn:hover,
.sudamericana-faq__btn:focus-visible {
  transform: translateY(-1px);
  /* Hover usa o laranja da paleta como acento secundário */
  background: linear-gradient(135deg, #a70404 0%, #ff9800 100%);
  box-shadow: 0 10px 26px rgba(167, 4, 4, 0.45);
  color: #fff !important;
  text-decoration: none;
}

.sudamericana-faq__answer[hidden] {
  display: none;
}

@media only screen and (max-width: 576px) {
  .sudamericana-faq-wrap {
    padding-left: 0;
    padding-right: 0;
  }

  .sudamericana-faq-wrap .container {
    padding-left: max(1rem, env(safe-area-inset-left, 0px));
    padding-right: max(1rem, env(safe-area-inset-right, 0px));
  }

  .sudamericana-faq__question {
    padding-top: 1rem;
    padding-bottom: 1rem;
    gap: 0.75rem;
    align-items: flex-start;
    text-align: left;
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  .sudamericana-faq__question::after {
    margin-top: 0.15em;
  }

  .sudamericana-faq__answer {
    padding-right: 0.25rem;
    font-size: 0.95rem;
  }
}

/* ========== PROGRAMMING PAGES STYLES ========== */

.sudamericana-programacao {
  padding: clamp(3rem, 7vw, 5rem) 0;
  background: linear-gradient(180deg, #fafbfd 0%, #f0f3f8 100%);
}

.sudamericana-prog-header {
  text-align: center;
  margin-bottom: clamp(2rem, 5vw, 4rem);
}

.sudamericana-prog-title {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  font-weight: 800;
  color: #240808;
  margin: 0 0 1rem;
  line-height: 1.2;
}

.sudamericana-prog-lead {
  font-size: 1rem;
  line-height: 1.6;
  color: #4a5a70;
  margin: 0;
}

.sudamericana-prog-coming-soon {
  text-align: center;
  padding: clamp(3rem, 8vw, 5rem);
  background: #ffffff;
  border: 2px dashed rgba(167, 4, 4, 0.2);
  border-radius: 12px;
  margin-top: 2rem;
}

.sudamericana-prog-coming-soon p {
  font-size: 1.15rem;
  color: #4a5a70;
  margin: 0;
}

/* Speakers grid */
.sudamericana-speakers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  margin-top: 2rem;
}

.sudamericana-speaker-card {
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}

.sudamericana-speaker-card:hover {
  box-shadow: 0 12px 32px rgba(167, 4, 4, 0.15);
  transform: translateY(-4px);
}

.sudamericana-speaker-card img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  display: block;
}

.sudamericana-speaker-info {
  padding: 1.5rem;
}

.sudamericana-speaker-name {
  font-size: 1.1rem;
  font-weight: 700;
  color: #240808;
  margin: 0 0 0.5rem;
}

.sudamericana-speaker-title {
  font-size: 0.9rem;
  color: #4a5a70;
  margin: 0;
}

@media (max-width: 768px) {
  .sudamericana-speakers-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1rem;
  }

  .sudamericana-speaker-card img {
    height: 200px;
  }

  .sudamericana-speaker-info {
    padding: 1rem;
  }

  .sudamericana-speaker-name {
    font-size: 0.95rem;
  }

  .sudamericana-speaker-title {
    font-size: 0.8rem;
  }
}

/* ========== PROGRAMMING PAGES (correct class names) ========== */

.sudamericana-prog {
  padding: clamp(3rem, 7vw, 5rem) 0;
  background: linear-gradient(180deg, #fafbfd 0%, #f0f3f8 100%);
}

/* Nordeste: descolar do menu (header fixo) em páginas "coming soon" */
body.confut-nordeste-refactor .sudamericana-prog--cronograma,
body.confut-nordeste-refactor .sudamericana-prog--palcos,
body.confut-nordeste-refactor .sudamericana-prog--momentos {
  padding-top: clamp(5.25rem, 10vw, 7.25rem);
  padding-bottom: clamp(3.25rem, 7vw, 5rem);
}

.sudamericana-prog-page-inner {
  max-width: 1200px;
}

.sudamericana-prog-header {
  text-align: center;
  margin-bottom: clamp(2rem, 5vw, 4rem);
}

.sudamericana-prog-title {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  font-weight: 800;
  color: #240808;
  margin: 0 0 1rem;
  line-height: 1.2;
}

.sudamericana-prog-lead {
  font-size: 1rem;
  line-height: 1.6;
  color: #4a5a70;
  margin: 0;
}

.sudamericana-prog-speakers__h2,
.sudamericana-prog-speakers__h3 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #240808;
  margin: 2rem 0 1.5rem;
}

.sudamericana-prog-speakers__grid2026 {
  margin-bottom: 2rem;
}

.sudamericana-prog-empty {
  font-size: 1rem;
  color: #4a5a70;
  padding: 2rem;
}

.sudamericana-prog-coming-soon {
  text-align: center;
  padding: clamp(3rem, 8vw, 5rem);
  background: #ffffff;
  border: 2px dashed rgba(167, 4, 4, 0.2);
  border-radius: 12px;
  margin-top: 2rem;
}

.sudamericana-prog-coming-soon p {
  font-size: 1.15rem;
  color: #4a5a70;
  margin: 0;
}

/* Nordeste: "Informações em breve" no mesmo padrão do Suda (com ID visual NE) */
body.confut-nordeste-refactor .sudamericana-prog-coming-soon {
  padding: clamp(3.25rem, 7vw, 4.25rem);
  background: linear-gradient(
    135deg,
    rgba(167, 4, 4, 0.08) 0%,
    rgba(255, 152, 0, 0.06) 42%,
    rgba(255, 255, 255, 0.92) 100%
  );
  border: 1px solid rgba(36, 8, 8, 0.1);
  border-radius: 18px;
  margin-top: clamp(2.25rem, 5vw, 3.25rem);
  box-shadow: 0 20px 50px rgba(36, 8, 8, 0.12);
  position: relative;
  overflow: hidden;
}

body.confut-nordeste-refactor .sudamericana-prog-coming-soon::before {
  content: "";
  position: absolute;
  inset: -2px;
  background: radial-gradient(60% 80% at 50% 0%, rgba(255, 152, 0, 0.22) 0%, transparent 55%);
  pointer-events: none;
  opacity: 0.85;
}

body.confut-nordeste-refactor .sudamericana-prog-coming-soon__content {
  position: relative;
  z-index: 1;
  max-width: 44rem;
  margin: 0 auto;
}

body.confut-nordeste-refactor .sudamericana-prog-coming-soon__title {
  font-size: clamp(1.3rem, 3.2vw, 1.75rem);
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #240808;
  margin: 0 0 0.75rem;
}

body.confut-nordeste-refactor .sudamericana-prog-coming-soon__text,
body.confut-nordeste-refactor .sudamericana-prog-coming-soon p {
  font-size: clamp(1.55rem, 3.4vw, 2.1rem);
  font-weight: 900;
  letter-spacing: -0.01em;
  color: rgba(36, 8, 8, 0.78);
  margin: 0;
}

body.confut-nordeste-refactor .sudamericana-prog-coming-soon__text .ne-soon-accent {
  color: var(--confut-nordeste-secondary, #ff9800);
}

/* ========== REFACTOR PAGE BASE LAYOUT ========== */

.nordeste-refactor {
  display: block;
  width: 100%;
  background: #ffffff;
}

.nordeste-refactor section {
  display: block;
  width: 100%;
}

.nordeste-refactor .container {
  display: block;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
}

.nordeste-refactor .row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.nordeste-refactor .col,
.nordeste-refactor [class*="col-"] {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

/* Ensure buttons and links are visible */
.nordeste-refactor a,
.nordeste-refactor .btn-main,
.nordeste-refactor button {
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
}

.nordeste-refactor .btn-main {
  background: #a70404;
  color: #ffffff;
  padding: 12px 28px;
  border-radius: 999px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.nordeste-refactor .btn-main:hover {
  background: #7a0404;
  transform: translateY(-2px);
}

.nordeste-refactor .btn-main.big {
  padding: 14px 36px;
  font-size: 15px;
}

/* ========== SUDAMERICANA CREDENTIALS: USA STRUCTURE VARIANT ========== */

.sudamericana-usa-pricing {
  padding: clamp(4.25rem, 8vw, 6rem) 0 clamp(4rem, 8vw, 5.5rem);
  background: #7a0404;
}

.sudamericana-usa-pricing > .container {
  max-width: 1880px;
  padding-left: clamp(16px, 4vw, 64px);
  padding-right: clamp(16px, 4vw, 64px);
}

.sudamericana-usa-pricing__head {
  margin-bottom: clamp(2.25rem, 5vw, 4.25rem);
}

.sudamericana-usa-pricing .sudamericana-cred-page__section-title,
.sudamericana-usa-pricing .sudamericana-cred-page__section-lead {
  color: #ffffff !important;
}

.sudamericana-usa-pricing__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.25rem, 2.4vw, 2.5rem);
  align-items: stretch;
}

.sudamericana-usa-card {
  --suda-card-accent: #ff9800;
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 32.75rem;
  overflow: visible;
  border-radius: 6px 6px 0 0;
  background: #ffffff;
  border-top: 8px solid var(--suda-card-accent);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.22);
  text-align: center;
}

.sudamericana-usa-card--blue {
  --suda-card-accent: #a70404;
}

.sudamericana-usa-card--gray {
  --suda-card-accent: #747f87;
}

.sudamericana-usa-card--red {
  --suda-card-accent: #ef3f4a;
}

.sudamericana-usa-card__badge {
  position: absolute;
  left: 50%;
  top: -4.35rem;
  width: clamp(7.4rem, 10vw, 9.4rem);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--suda-card-accent);
  transform: translateX(-50%);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
  z-index: 2;
}

.sudamericana-usa-card--clubs .sudamericana-usa-card__badge {
  background: #ffffff;
}

.sudamericana-usa-card__badge img {
  display: block;
  width: 72%;
  max-height: 72%;
  object-fit: contain;
  transform: rotate(8deg);
  filter: drop-shadow(0 10px 12px rgba(0, 0, 0, 0.24));
}

.sudamericana-usa-card__header {
  min-height: 12.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4.65rem 1.5rem 2rem;
  border-bottom: 1px solid #dde3ea;
}

.sudamericana-usa-card__title {
  margin: 0;
  font-size: clamp(2.05rem, 3.1vw, 3rem);
  font-weight: 700;
  line-height: 1.08;
  color: #737c84 !important;
  text-transform: none;
  letter-spacing: 0;
}

.sudamericana-usa-card__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(1.65rem, 3vw, 2.35rem);
  padding: clamp(2rem, 3vw, 2.8rem) clamp(1.4rem, 3vw, 2.5rem);
  border-bottom: 1px solid #dde3ea;
}

.sudamericana-usa-card__price {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  margin: 0;
  color: #737c84;
  line-height: 1;
  white-space: nowrap;
}

.sudamericana-usa-card__currency {
  font-size: clamp(1.45rem, 2.4vw, 2.15rem);
  font-weight: 500;
  margin-right: 0.12em;
}

.sudamericana-usa-card__amount {
  font-size: clamp(3rem, 5vw, 4.6rem);
  font-weight: 700;
  letter-spacing: 0;
}

.sudamericana-usa-card__description {
  max-width: 20rem;
  margin: 0 auto;
  font-size: clamp(1.3rem, 2.1vw, 1.9rem);
  line-height: 1.35;
  color: #737c84;
}

.sudamericana-usa-card__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 20.5rem);
  min-height: 4.4rem;
  padding: 0.9rem 1.4rem;
  border-radius: 6px;
  background: var(--suda-card-accent);
  color: #ffffff !important;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  font-weight: 500;
  line-height: 1.1;
  text-decoration: none !important;
  transition: filter 0.2s ease, transform 0.2s ease;
}

.sudamericana-usa-card__cta:hover,
.sudamericana-usa-card__cta:focus {
  color: #ffffff !important;
  filter: brightness(1.06);
  transform: translateY(-1px);
}

@media (min-width: 768px) {
  .sudamericana-usa-pricing__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .sudamericana-usa-pricing__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .sudamericana-usa-pricing {
    padding-top: 5.75rem;
  }

  .sudamericana-usa-card {
    min-height: 28rem;
  }

  .sudamericana-usa-card__header {
    min-height: 10.5rem;
  }
}

/* ==========================================================================
   Credential & Accommodation page — boarding-pass design (mirrors Confut USA)
   Variáveis: --usa-navy → #240808, --usa-red → #a70404 (Nordeste primary)
   ========================================================================== */

.sudamericana-cred-page {
  --usa-navy: #240808;
  --usa-red: #a70404;
  --usa-red-hover: #7a0404;
  --usa-white: #ffffff;
  --usa-radius: 14px;
}

/* Accent "SUDAMERICANA" no mast do pass — laranja da marca */
.sudamericana-cred-page .usa-cred-pass__event-usa {
  color: var(--confut-nordeste-secondary, #ff9800);
}

/* ---------- Seções internas ---------- */
.usa-cred-page__section--credentials-inner {
  padding: clamp(2.75rem, 7vw, 4rem) 0 clamp(3.25rem, 8vw, 4.5rem);
  background: linear-gradient(180deg, #fafbfd 0%, #f0f3f8 100%);
}

.usa-cred-page__section--accommodation-inner {
  padding: clamp(2.75rem, 7vw, 4rem) 0 clamp(3.25rem, 8vw, 4.5rem);
  background: linear-gradient(180deg, #eef1f6 0%, #fafbfd 100%);
}

.usa-cred-page__section-head {
  text-align: center;
  max-width: 40rem;
  margin: 0 auto clamp(2rem, 4vw, 2.75rem);
}

.usa-cred-page__section-title {
  font-size: clamp(1.5rem, 3.2vw, 2rem);
  font-weight: 800;
  color: var(--usa-navy);
  letter-spacing: 0.02em;
  margin: 0 0 0.65rem;
  line-height: 1.2;
}

.usa-cred-page__section-lead {
  font-size: 1.05rem;
  line-height: 1.6;
  color: #4a5a70;
  margin: 0 0 1rem;
}

/* ---------- Grid de cards ---------- */
.usa-cred-pricing {
  margin-top: clamp(1.25rem, 3vw, 1.75rem);
}

.usa-cred-page__section--credentials-inner > .container {
  max-width: 1500px;
  padding-left: clamp(20px, 2.8vw, 36px);
  padding-right: clamp(20px, 2.8vw, 36px);
}

.usa-cred-page-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  align-items: stretch;
  grid-auto-rows: 1fr;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .usa-cred-page-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 992px) {
  .usa-cred-page-cards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
    max-width: none;
    margin: 0 auto;
  }
}

/* Chip do lote (batch) — mesmo visual do USA */
.usa-cred-page__batch-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.55rem 0.9rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(36, 8, 8, 0.08);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
}

.usa-cred-page__batch-chip-label {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(167, 4, 4, 0.78);
}

.usa-cred-page__batch-chip-value {
  font-weight: 900;
  letter-spacing: 0.02em;
  color: #240808;
}

@media (max-width: 991.98px) {
  .usa-cred-page-cards {
    gap: 20px;
    max-width: none;
  }
}

@media (max-width: 575.98px) {
  .usa-cred-page-cards {
    gap: 16px;
  }
}

/* ---------- Boarding pass base ---------- */
.usa-cred-pass {
  position: relative;
  flex: 1 1 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: left;
  border-radius: 6px 18px 18px 6px;
  overflow: hidden;
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.06) 0%, transparent 42%),
    linear-gradient(168deg, #4a120f 0%, #240808 46%, #120505 100%);
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow:
    0 22px 50px rgba(4, 10, 28, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.07);
  transition: transform 0.32s ease, box-shadow 0.32s ease, border-color 0.32s ease;
}

.usa-cred-pass__shine {
  position: absolute;
  inset: -40% -30%;
  background: linear-gradient(
    118deg,
    transparent 40%,
    rgba(255, 255, 255, 0.07) 48%,
    transparent 56%
  );
  transform: translateX(-18%);
  pointer-events: none;
  z-index: 0;
}

.usa-cred-pass__border-glow {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(167, 4, 4, 0.12);
  pointer-events: none;
  z-index: 2;
}

.usa-cred-pass__mast {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.85rem 1.1rem 0.65rem;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.18);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, transparent 100%);
}

.usa-cred-pass__event {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.28em;
  color: rgba(248, 250, 252, 0.88);
}

.usa-cred-pass__chip {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: rgba(248, 250, 252, 0.72);
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(0, 0, 0, 0.2);
}

.usa-cred-pass__perforation {
  height: 10px;
  margin: 0 1rem;
  background:
    radial-gradient(circle at 6px 50%, transparent 5px, rgba(255, 255, 255, 0.12) 5px) 0 0 / 14px 10px repeat-x;
  opacity: 0.85;
  position: relative;
  z-index: 1;
}

.usa-cred-pass__body {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  padding: 1.1rem 1.25rem 0.85rem;
}

.usa-cred-pass__tier {
  margin: 0 0 0.65rem;
  font-size: clamp(1.35rem, 3vw, 1.65rem);
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff !important;
  line-height: 1.12;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}

.usa-cred-pass__price {
  margin: 0 0 0.65rem;
  line-height: 1.1;
  min-height: 4.15rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.usa-cred-pass__price-main {
  display: inline-flex;
  align-items: baseline;
  gap: 0.18rem;
  width: fit-content;
  max-width: 100%;
  min-width: 0;
  white-space: nowrap;
}

.usa-cred-pass__price-currency {
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1;
  color: rgba(248, 250, 252, 0.9);
  margin-right: 0;
  flex: 0 0 auto;
}

.usa-cred-pass__price-num {
  font-size: clamp(1.65rem, 4vw, 2.1rem);
  font-weight: 800;
  color: #fff;
  letter-spacing: 0.02em;
  line-height: 1;
  flex: 0 0 auto;
}

.usa-cred-pass__price-note {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(241, 245, 249, 0.88);
}

.usa-cred-pass__no-price {
  min-height: 4.15rem;
  margin: 0;
}

.usa-cred-pass__cta {
  position: relative;
  z-index: 3;
  display: block;
  margin: 0 1.25rem 1.2rem;
  padding: 0.72rem 1rem;
  text-align: center;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none !important;
  color: #240808 !important;
  border-radius: 10px;
  background: linear-gradient(180deg, #fff 0%, #e8edf4 100%);
  border: 1px solid rgba(255, 255, 255, 0.35);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25);
  transition: transform 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
  cursor: pointer;
}

.usa-cred-pass__cta:hover {
  color: var(--usa-red, #a70404) !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.28);
}

.usa-cred-pass__cta--soon {
  opacity: 0.6;
  cursor: default;
}

.usa-cred-pass__cta--soon:hover {
  transform: none;
  color: #240808 !important;
}

/* ---------- Platinum ---------- */
.usa-cred-pass--platinum {
  border-color: rgba(240, 215, 140, 0.35);
  box-shadow:
    0 26px 58px rgba(4, 10, 28, 0.32),
    0 0 0 1px rgba(240, 215, 140, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.usa-cred-pass--platinum .usa-cred-pass__border-glow {
  box-shadow:
    inset 0 0 0 1px rgba(240, 215, 140, 0.22),
    0 0 32px rgba(167, 4, 4, 0.12);
}

@media (hover: hover) and (pointer: fine) {
  .usa-cred-pass:hover {
    transform: translateY(-4px);
    box-shadow:
      0 30px 60px rgba(4, 10, 28, 0.34),
      inset 0 1px 0 rgba(255, 255, 255, 0.09);
    border-color: rgba(167, 4, 4, 0.35);
  }
}

/* --------------------------------------------------------------------------
   Nordeste: credenciais devem ficar 100% estáticas (igual Confut USA)
   -------------------------------------------------------------------------- */
body.confut-nordeste-refactor .usa-cred-page .usa-cred-pass {
  transition: none !important;
  transform: none !important;
}

@media (hover: hover) and (pointer: fine) {
  body.confut-nordeste-refactor .usa-cred-page .usa-cred-pass:hover {
    transform: none !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    box-shadow:
      0 22px 50px rgba(4, 10, 28, 0.28),
      inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
    filter: none !important;
  }
}

body.confut-nordeste-refactor .usa-cred-page .usa-cred-pass__cta {
  transition: none !important;
  transform: none !important;
  animation: none !important;
}

body.confut-nordeste-refactor .usa-cred-page .usa-cred-pass__cta:hover,
body.confut-nordeste-refactor .usa-cred-page .usa-cred-pass__cta:focus {
  transform: none !important;
  filter: none !important;
}

/* ---------- Pass na página (versão expandida com benefícios) ---------- */
.usa-cred-page .usa-cred-pass--page {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  min-height: 100%;
  min-width: 0;
  max-width: 100%;
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  animation: none !important;
  transform: none !important;
  transition: none !important;
}

.usa-cred-page .usa-cred-pass--page .usa-cred-pass__mast {
  padding: 1rem 1.7rem 0.8rem;
}

.usa-cred-page .usa-cred-pass--page .usa-cred-pass__perforation {
  margin: 0 1.6rem;
}

.usa-cred-page .usa-cred-pass--page .usa-cred-pass__shine {
  animation: none !important;
  transform: none !important;
}

.usa-cred-page .usa-cred-pass--page .usa-cred-pass__body {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  min-width: 0;
  padding: 1.1rem 1.6rem 0.45rem;
}

.usa-cred-page .usa-cred-pass--page .usa-cred-pass__tier {
  min-height: 2.4em;
  display: flex;
  align-items: flex-start;
}

.usa-cred-page .usa-cred-pass--page .usa-cred-pass__cta {
  flex-shrink: 0;
  min-width: 0;
  transition: none !important;
  animation: none !important;
  transform: none !important;
  will-change: auto !important;
  margin: 0 1.6rem 1.2rem;
  padding: 0.82rem 1.05rem;
}

.usa-cred-page .usa-cred-pass--page .usa-cred-pass__cta:hover {
  transform: none !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25) !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
  color: #240808 !important;
  background: linear-gradient(180deg, #fff 0%, #e8edf4 100%) !important;
  filter: none !important;
}

@media (hover: hover) and (pointer: fine) {
  .usa-cred-page .usa-cred-pass--page:hover {
    box-shadow:
      0 22px 50px rgba(4, 10, 28, 0.28),
      inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    transform: none !important;
    filter: none !important;
  }

  .usa-cred-page .usa-cred-pass--page.usa-cred-pass--platinum:hover {
    box-shadow:
      0 26px 58px rgba(4, 10, 28, 0.32),
      0 0 0 1px rgba(240, 215, 140, 0.12),
      inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(240, 215, 140, 0.35) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .usa-cred-page .usa-cred-pass--page {
    transition: none;
  }
  .usa-cred-page .usa-cred-pass--page:hover {
    transform: none;
  }
}

/* ---------- Lista de benefícios no pass ---------- */
.usa-cred-page .usa-cred-pass--page .usa-cred-pass__features--page {
  margin-top: 0.85rem;
  padding: 1rem 1.3rem 0.25rem 1.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  font-size: 0.84rem;
  line-height: 1.5;
  color: #ffffff;
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  list-style: none !important;
}

.usa-cred-page .usa-cred-pass--page .usa-cred-pass__features--page > li {
  position: relative;
  margin-bottom: 0;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  padding-left: 1.45rem;
  padding-right: 0.5rem;
  list-style: none !important;
}

.usa-cred-page .usa-cred-pass--page .usa-cred-pass__features--page > li:last-child {
  margin-bottom: 0;
}

.usa-cred-pass__features--page::before,
.usa-cred-pass__features--page::after,
.usa-cred-page .usa-cred-pass--page .usa-cred-pass__features--page > li::after,
.usa-cred-page .usa-cred-pass--page .usa-cred-pass__features--page > li::marker {
  content: none !important;
}

.usa-cred-page .usa-cred-pass--page .usa-cred-pass__features--page > li::before {
  content: "✓" !important;
  position: absolute;
  left: 0.3rem;
  top: 0.08rem;
  width: auto;
  height: auto;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #ffffff !important;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
}

.usa-cred-pass__feature-item--default,
.usa-cred-pass__feature-item--muted,
.usa-cred-pass__feature-item--highlight {
  color: #ffffff;
  font-weight: 500;
}

.usa-cred-page .usa-cred-pass--page .usa-cred-pass__feature-item--muted::before,
.usa-cred-page .usa-cred-pass--page .usa-cred-pass__feature-item--default::before {
  color: #ffffff !important;
}

.usa-cred-page .usa-cred-pass--page .usa-cred-pass__features--page > li.usa-cred-pass__feature-item--highlight::before {
  content: "★" !important;
  color: var(--confut-nordeste-secondary, #ff9800) !important;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1;
  top: 0.04rem;
}

/* Variante muted (mesma hierarquia visual do USA) */
.usa-cred-page .usa-cred-pass--page .usa-cred-pass__feature-item--muted {
  opacity: 0.78;
}

/* Nordeste: garantir cards totalmente estáticos (sem hover/transition do tema) */
body.confut-nordeste-refactor .usa-cred-page .usa-cred-pass,
body.confut-nordeste-refactor .usa-cred-page .usa-cred-pass * {
  animation: none !important;
}

body.confut-nordeste-refactor .usa-cred-page .usa-cred-pass {
  transform: none !important;
  transition: none !important;
}

@media (max-width: 991.98px) {
  .usa-cred-page .usa-cred-pass--page .usa-cred-pass__features--page {
    font-size: 0.82rem;
    gap: 0.46rem;
    padding-left: 1.3rem;
    padding-right: 1.05rem;
  }
}

@media (max-width: 575.98px) {
  .usa-cred-page .usa-cred-pass--page .usa-cred-pass__tier {
    min-height: auto;
  }

  .usa-cred-pass__price,
  .usa-cred-pass__no-price {
    min-height: 3.85rem;
  }
}

/* ---------- Título de bloco exclusivo ---------- */
.usa-cred-page__exclusive-title {
  font-size: clamp(1.15rem, 2.4vw, 1.45rem);
  font-weight: 800;
  color: var(--usa-navy) !important;
  margin: 0 0 0.4rem;
}

.usa-cred-page__hotel-custom .usa-cred-page__exclusive-title,
.usa-cred-page__hotel-rules .usa-cred-page__exclusive-title {
  text-align: center;
}

/* ---------- Hospedagem: galeria + painel ---------- */
.usa-cred-page__hotel-grid {
  margin-top: clamp(1.5rem, 4vw, 2.25rem);
}

.usa-cred-page__hotel-gallery {
  position: relative;
}

.usa-cred-page__hotel-figure {
  margin: 0;
  border-radius: var(--usa-radius, 14px);
  overflow: hidden;
  box-shadow:
    0 22px 48px rgba(4, 10, 28, 0.12),
    0 0 0 1px rgba(36, 8, 8, 0.06);
  background: var(--usa-navy);
}

.usa-cred-page__hotel-img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.usa-cred-page__hotel-thumbs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.45rem;
  margin-top: 0.75rem;
  padding-top: 0.8rem;
  border-top: 1px solid rgba(36, 8, 8, 0.15);
}

@media (max-width: 575.98px) {
  .usa-cred-page__hotel-thumbs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.usa-cred-page__hotel-thumb {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 2px solid transparent;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  background: #e2e8f0;
  aspect-ratio: 4 / 3;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.usa-cred-page__hotel-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.usa-cred-page__hotel-thumb:hover {
  border-color: rgba(167, 4, 4, 0.45);
  transform: translateY(-1px);
}

.usa-cred-page__hotel-thumb.is-active {
  border-color: var(--usa-red, #a70404);
  box-shadow: 0 8px 20px rgba(167, 4, 4, 0.2);
}

.usa-cred-page__hotel-thumb--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: default;
  background: repeating-linear-gradient(-45deg, #f1f5f9, #f1f5f9 8px, #e2e8f0 8px, #e2e8f0 16px);
  border: 1px dashed rgba(36, 8, 8, 0.2);
}

.usa-cred-page__hotel-thumb-placeholder-text {
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center;
  padding: 0.35rem;
  color: #64748b;
  line-height: 1.25;
}

.usa-cred-page__hotel-caption {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #4a5a70;
  font-weight: 500;
}

/* ---------- Painel de tarifas ---------- */
.usa-cred-page__rates-panel {
  border-radius: 18px;
  padding: clamp(1.25rem, 3vw, 1.65rem);
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%) !important;
  border: 1px solid rgba(36, 8, 8, 0.1);
  box-shadow: 0 24px 50px rgba(4, 10, 28, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

@media (min-width: 992px) {
  .usa-cred-page__rates-panel {
    position: sticky;
    top: max(5.5rem, calc(env(safe-area-inset-top, 0px) + 4.5rem));
  }
}

.usa-cred-page__rates-panel-head {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(36, 8, 8, 0.08);
}

.usa-cred-page__rates-panel-lead {
  margin-top: 0.65rem;
  font-size: 0.88rem;
  line-height: 1.5;
  color: #5a6a80;
}

.usa-cred-page__hotel-rates-title {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--usa-navy) !important;
  margin: 0 0 0.75rem;
}

.usa-cred-page__hotel-accordion .accordion-item {
  background: #fff;
  border: 1px solid rgba(36, 8, 8, 0.1);
  border-radius: 12px !important;
  margin-bottom: 0.65rem;
  overflow: hidden;
}

.usa-cred-page__hotel-accordion .accordion-button {
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--usa-navy);
  background: #f8fafc;
  box-shadow: none;
}

.usa-cred-page__hotel-accordion .accordion-button:not(.collapsed) {
  color: var(--usa-navy, #240808);
  background: #fff;
}

.usa-cred-page__rate-list {
  margin: 0;
  padding: 0;
}

.usa-cred-page__rate-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(36, 8, 8, 0.08);
  font-size: 0.88rem;
  color: #3d4d63;
}

.usa-cred-page__rate-row:last-child {
  border-bottom: none;
}

.usa-cred-page__rate-price {
  font-variant-numeric: tabular-nums;
  color: var(--usa-navy);
}

.usa-cred-page__rate-buy {
  width: 100%;
  margin-top: 0.25rem;
}

/* ---------- Botão usa-btn ---------- */
.usa-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.9rem 1.4rem;
  font-weight: 700;
  font-size: clamp(0.9rem, 3.5vw, 0.98rem);
  border-radius: 999px;
  border: 2px solid transparent;
  text-decoration: none;
  transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.15s;
  text-align: center;
  min-height: 48px;
  width: 100%;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

@media (min-width: 576px) {
  .usa-btn {
    width: auto;
    min-width: 10.5rem;
  }
}

.usa-btn:active {
  transform: scale(0.98);
}

.usa-btn--primary {
  background: var(--usa-navy, #240808);
  color: #ffffff !important;
  border-color: var(--usa-navy, #240808);
}

.usa-btn--primary:hover {
  background: #120505;
  border-color: #120505;
  color: #ffffff !important;
}

.usa-btn--outline {
  background: transparent;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.65);
}

.usa-btn--outline:hover {
  border-color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff !important;
}

/* Rate buy button (fundo claro do accordion) */
.usa-cred-page__hotel-accordion .usa-cred-page__rate-buy.usa-btn--primary {
  background: var(--confut-nordeste-secondary, #ff9800);
  border-color: var(--confut-nordeste-secondary, #ff9800);
  color: #fff !important;
}

.usa-cred-page__hotel-accordion .usa-cred-page__rate-buy.usa-btn--primary:hover {
  background: #e08100;
  border-color: #e08100;
  color: #fff !important;
}

.usa-cred-page__hotel-accordion .usa-cred-page__rate-buy.usa-btn--primary:focus-visible {
  outline: 3px solid rgba(255, 152, 0, 0.35);
  outline-offset: 3px;
}

/* WhatsApp button no bloco de estadia personalizada (fundo claro) */
.usa-cred-page__hotel-custom .usa-btn--outline {
  color: var(--usa-navy, #240808) !important;
  border-color: rgba(36, 8, 8, 0.35);
  background: rgba(255, 255, 255, 0.95);
}

.usa-cred-page__hotel-custom .usa-btn--outline:hover {
  color: var(--usa-red, #a70404) !important;
  border-color: var(--usa-red, #a70404);
  background: rgba(167, 4, 4, 0.06);
}

/* ---------- Bloco "Estadia personalizada" ---------- */
.usa-cred-page__hotel-custom {
  margin-top: clamp(2.5rem, 6vw, 3.5rem);
  padding: clamp(1.75rem, 4vw, 2.5rem);
  text-align: center;
  border-radius: 18px;
  background: linear-gradient(180deg, #fff 0%, #f4f7fb 100%) !important;
  border: 1px solid rgba(36, 8, 8, 0.1);
  box-shadow: 0 20px 48px rgba(4, 10, 28, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.usa-cred-page__hotel-custom-lead {
  max-width: 32rem;
  margin: 0 auto 1.25rem;
  font-size: 1rem;
  line-height: 1.6;
  color: #4a5a70;
}

/* ---------- Bloco "Informações importantes" ---------- */
.usa-cred-page__hotel-rules {
  margin-top: clamp(2rem, 5vw, 2.75rem);
  padding: clamp(1.75rem, 4vw, 2.5rem);
  border-radius: 18px;
  background: linear-gradient(180deg, #2a0a0a 0%, #240808 52%, #120505 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 20px 48px rgba(4, 10, 28, 0.35);
}

.usa-cred-page__hotel-rules .usa-cred-page__exclusive-title {
  color: #ffffff !important;
}

.usa-cred-page__hotel-rules .usa-cred-page__rules-list li {
  color: rgba(255, 255, 255, 0.94);
  border-bottom-color: rgba(255, 255, 255, 0.14);
}

.usa-cred-page__rules-list {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: 40rem;
}

.usa-cred-page__rules-list li {
  position: relative;
  padding: 0.55rem 0 0.55rem 1.25rem;
  font-size: 0.92rem;
  line-height: 1.55;
  color: #4a5a70;
  border-bottom: 1px solid rgba(36, 8, 8, 0.06);
}

.usa-cred-page__rules-list li:last-child {
  border-bottom: none;
}

.usa-cred-page__rules-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.85rem;
  width: 0.35rem;
  height: 0.35rem;
  border-radius: 50%;
  background: var(--usa-red, #a70404);
  opacity: 0.85;
}

.usa-cred-page__hotel-rules .usa-cred-page__rules-list li::before {
  background: rgba(255, 255, 255, 0.92);
  opacity: 1;
}

/* Override do reset .nordeste-refactor [class*="col-"] que força width:100% */
@media (min-width: 992px) {
  .nordeste-refactor .usa-cred-page__hotel-grid .col-lg-6 {
    width: 50%;
  }
}

/* ---------- Nordeste: marcas globais no footer ---------- */
@keyframes nordesteSponsorsMarquee {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}

body.confut-nordeste-refactor .usa-macro-sponsors {
  position: relative;
  padding: clamp(3.75rem, 7vw, 5.5rem) 0 clamp(3rem, 6vw, 4.5rem);
  background:
    linear-gradient(180deg, #ffffff 0%, #fff7f2 46%, #ffffff 100%) !important;
  color: #240808;
  isolation: isolate;
  overflow-x: clip;
  overflow-y: visible;
  border-top: 1px solid rgba(167, 4, 4, 0.1);
  border-bottom: 1px solid rgba(36, 8, 8, 0.06);
  /* Evita repaints caros e “tremor” ao rolar perto das logos */
  content-visibility: auto;
  contain-intrinsic-size: 900px;
}

body.confut-nordeste-refactor .nordeste-site-brands::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 6px;
  background: linear-gradient(90deg, var(--confut-nordeste-primary), var(--confut-nordeste-secondary), var(--confut-nordeste-primary));
  opacity: 0.96;
}

body.confut-nordeste-refactor .nordeste-site-brands::after {
  content: "";
  position: absolute;
  inset: 6px 0 auto;
  height: 110px;
  pointer-events: none;
  background: repeating-linear-gradient(90deg, rgba(167, 4, 4, 0.08) 0 1px, transparent 1px 96px);
  opacity: 0.28;
}

body.confut-nordeste-refactor .usa-macro-sponsors .container,
body.confut-nordeste-refactor .nordeste-site-brands .usa-macro-sponsors__tier {
  position: relative;
  z-index: 1;
  min-width: 0;
  overflow-x: clip;
}

body.confut-nordeste-refactor .nordeste-site-brands .usa-macro-sponsors__head {
  max-width: 58rem;
  margin: 0 auto clamp(2.25rem, 5vw, 3.75rem);
}

body.confut-nordeste-refactor .nordeste-site-brands .ne-section-heading__title {
  margin: 0 !important;
  color: var(--confut-nordeste-primary, #a70404) !important;
  font-family: var(--title-font);
  font-size: clamp(2.7rem, 6vw, 4.75rem);
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.02;
}

body.confut-nordeste-refactor .nordeste-site-brands .ne-section-heading__lead {
  max-width: 52rem;
  margin: 1rem auto 0 !important;
  color: rgba(36, 8, 8, 0.76) !important;
  font-size: clamp(1rem, 2vw, 1.35rem);
  font-weight: 700;
  line-height: 1.28;
}

body.confut-nordeste-refactor .nordeste-site-brands .ne-section-heading__rule {
  display: block;
  width: 7rem;
  height: 4px;
  margin: 1.25rem auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--confut-nordeste-primary), var(--confut-nordeste-secondary));
}

body.confut-nordeste-refactor .usa-macro-sponsors__tier {
  margin-top: clamp(1.75rem, 3vw, 2.5rem);
}

body.confut-nordeste-refactor .nordeste-site-brands .usa-macro-sponsors__tier--sponsors {
  margin-top: clamp(2.5rem, 4vw, 3.25rem);
}

body.confut-nordeste-refactor .usa-macro-sponsors__tier-title {
  display: table;
  position: relative;
  text-align: center;
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(36, 8, 8, 0.78) !important;
  margin: 0 auto 1.65rem;
  padding: 0 0 0.7rem;
  background: transparent;
  border: 0;
}

body.confut-nordeste-refactor .usa-macro-sponsors__tier-title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 2.35rem;
  height: 3px;
  border-radius: 999px;
  background: var(--confut-nordeste-secondary, #ff9800);
  transform: translateX(-50%);
}

body.confut-nordeste-refactor .usa-macro-sponsors__tier-panel--sponsor,
body.confut-nordeste-refactor .usa-macro-sponsors__tier-panel--supporters {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.confut-nordeste-refactor .usa-macro-sponsors__static {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: clamp(1rem, 2.4vw, 1.5rem);
}

body.confut-nordeste-refactor .usa-macro-sponsors__marquee {
  overflow: hidden;
  width: 100%;
  min-width: 0;
  mask-image: linear-gradient(90deg, transparent 0%, #000 2%, #000 98%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 2%, #000 98%, transparent 100%);
}

body.confut-nordeste-refactor .usa-macro-sponsors__marquee-track {
  display: flex;
  align-items: center;
  gap: clamp(0.85rem, 2.2vw, 1.35rem);
  width: max-content;
  animation: nordesteSponsorsMarquee 36s linear infinite;
  will-change: transform;
}

body.confut-nordeste-refactor .usa-macro-sponsors__card {
  flex: 0 0 auto;
  min-width: 0;
  contain: layout paint;
}

body.confut-nordeste-refactor .usa-macro-sponsors__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  overflow: hidden;
  isolation: isolate;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #fffaf6 100%);
  border: 1px solid rgba(167, 4, 4, 0.12);
  box-shadow: 0 14px 34px rgba(36, 8, 8, 0.1);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

body.confut-nordeste-refactor .usa-macro-sponsors__link::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--confut-nordeste-primary), var(--confut-nordeste-secondary));
  opacity: 0.85;
}

body.confut-nordeste-refactor .usa-macro-sponsors__tier-panel--sponsor .usa-macro-sponsors__link {
  min-height: clamp(8.75rem, 14vw, 10.5rem);
  min-width: clamp(16rem, 34vw, 23rem);
  padding: clamp(1.4rem, 3vw, 2rem);
  border-color: rgba(255, 152, 0, 0.22);
  box-shadow: 0 20px 48px rgba(36, 8, 8, 0.12);
}

body.confut-nordeste-refactor .usa-macro-sponsors__tier-panel--supporters .usa-macro-sponsors__link {
  min-height: 6.25rem;
  min-width: 11rem;
  padding: 0.95rem 1.25rem;
  background: rgba(255, 255, 255, 0.9);
}

body.confut-nordeste-refactor .usa-macro-sponsors__img {
  display: block;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center;
}

body.confut-nordeste-refactor .usa-macro-sponsors__tier-panel--sponsor .usa-macro-sponsors__img {
  max-width: min(18rem, 74vw);
  min-width: 6rem;
  min-height: 3rem;
  max-height: clamp(5.5rem, 9vw, 6.75rem);
  aspect-ratio: 220 / 120;
}

body.confut-nordeste-refactor .usa-macro-sponsors__tier-panel--supporters .usa-macro-sponsors__img {
  max-width: min(15rem, 42vw);
  min-width: 5.25rem;
  min-height: 2.65rem;
  max-height: 5rem;
  aspect-ratio: 220 / 120;
}

@media (hover: hover) {
  body.confut-nordeste-refactor .nordeste-site-brands .usa-macro-sponsors__link:hover {
    box-shadow: 0 22px 52px rgba(36, 8, 8, 0.18);
    transform: translateY(-5px);
  }
}

@media (max-width: 991.98px) {
  body.confut-nordeste-refactor .nordeste-site-brands .ne-section-heading__title {
    font-size: 3.65rem;
  }

  body.confut-nordeste-refactor .nordeste-site-brands .ne-section-heading__lead {
    font-size: 1.25rem;
    line-height: 1.35;
  }
}

@media (max-width: 575.98px) {
  body.confut-nordeste-refactor .nordeste-site-brands .ne-section-heading__title {
    font-size: 2.55rem;
    line-height: 1.02;
  }

  body.confut-nordeste-refactor .nordeste-site-brands .ne-section-heading__lead {
    font-size: 1.05rem;
  }

  body.confut-nordeste-refactor .nordeste-site-brands .ne-section-heading__rule {
    width: 5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.confut-nordeste-refactor .usa-macro-sponsors__marquee {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    mask-image: none;
    -webkit-mask-image: none;
  }

  body.confut-nordeste-refactor .usa-macro-sponsors__marquee-track {
    animation: none !important;
    padding-inline: 0.35rem;
  }
}

/* ---------- Nordeste: hotel no padrão Confut USA/Sudamericana ---------- */
.nordeste-venue-showcase {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  min-height: clamp(28rem, 78vh, 46rem);
  display: flex;
  align-items: center;
  padding: clamp(3.5rem, 9vw, 6.75rem) 0 !important;
  color: #fff;
  background: #240808 !important;
}

.nordeste-venue-showcase__parallax {
  position: absolute;
  left: 0;
  width: 100%;
  height: 152%;
  top: -26%;
  z-index: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
}

.nordeste-venue-showcase__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 32% center;
  z-index: 0;
  filter: saturate(1.05) contrast(1.05);
}

body.confut-nordeste-refactor .event-metrics-bar__value {
  color: #ff8c00;
}

.confut-nordeste-theme .event-metrics-bar__value {
  color: #ff8c00;
}

/* Credenciais (página Nordeste): preços em laranja */
body.confut-nordeste-refactor .usa-cred-pass__price-num,
body.confut-nordeste-refactor .usa-cred-pass__price-currency {
  color: #ff8c00 !important;
}

/* --- Fix: footer clipping (garante scroll / sem 100vh travado) --- */
html body.confut-nordeste-refactor,
body.confut-nordeste-refactor {
  height: auto !important;
  min-height: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

body.confut-nordeste-refactor #wrapper,
body.confut-nordeste-refactor #content {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

body.confut-nordeste-refactor footer {
  position: relative;
  z-index: 3;
}

/* Speakers (outras edições) — slider/paginação (paridade com SUDA) */
body.confut-nordeste-refactor .suda-prog-speakers-archive {
  margin-top: 0.75rem;
}

body.confut-nordeste-refactor .suda-prog-speakers-archive__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 0.25rem 0 0.75rem;
}

body.confut-nordeste-refactor .suda-prog-speakers-archive__nav {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(36, 8, 8, 0.18);
  background: #ffffff;
  color: #240808;
  font-size: 1.4rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

body.confut-nordeste-refactor .suda-prog-speakers-archive__nav:hover,
body.confut-nordeste-refactor .suda-prog-speakers-archive__nav:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(255, 152, 0, 0.45);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.16);
  outline: none;
}

body.confut-nordeste-refactor .suda-prog-speakers-archive__dots {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.45rem;
}

body.confut-nordeste-refactor .suda-prog-speakers-archive__dot {
  width: 1.65rem;
  height: 3px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(36, 8, 8, 0.25);
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}

body.confut-nordeste-refactor .suda-prog-speakers-archive__dot.is-active {
  background: var(--confut-nordeste-secondary, #ff9800);
  transform: scaleY(1.3);
}

body.confut-nordeste-refactor .suda-prog-speakers-archive__viewport {
  overflow: hidden;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(36, 8, 8, 0.08);
}

body.confut-nordeste-refactor .suda-prog-speakers-archive__track {
  display: flex;
  gap: 1.25rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 0.85rem;
  -webkit-overflow-scrolling: touch;
}

body.confut-nordeste-refactor .suda-prog-speakers-archive__track::-webkit-scrollbar {
  height: 6px;
}

body.confut-nordeste-refactor .suda-prog-speakers-archive__track::-webkit-scrollbar-thumb {
  background: rgba(36, 8, 8, 0.18);
  border-radius: 999px;
}

body.confut-nordeste-refactor .suda-prog-speakers-archive__slide {
  flex: 0 0 100%;
  scroll-snap-align: start;
}

body.confut-nordeste-refactor .suda-prog-speakers-archive__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

@media (max-width: 1199px) {
  body.confut-nordeste-refactor .suda-prog-speakers-archive__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  body.confut-nordeste-refactor .suda-prog-speakers-archive__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575px) {
  body.confut-nordeste-refactor .suda-prog-speakers-archive__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

body.confut-nordeste-refactor .suda-speaker-year-pill {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  background: rgba(36, 8, 8, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #ffffff;
  font-weight: 800;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
}

body.confut-nordeste-refactor .sudamericana-prog--speakers .sudamericana-speaker-card.suda-speaker-card--archive {
  position: relative;
}

/* Speakers page (Nordeste): evitar fundo escuro do dark-scheme */
body.confut-nordeste-refactor .sudamericana-prog--speakers {
  background: linear-gradient(180deg, #ffffff 0%, #f7f2f2 40%, #ffffff 100%);
  padding-top: clamp(5.25rem, 10vw, 7.25rem);
}

body.confut-nordeste-refactor .sudamericana-prog--speakers .sudamericana-prog-title,
body.confut-nordeste-refactor .sudamericana-prog--speakers .sudamericana-prog-lead {
  color: #240808;
}

body.confut-nordeste-refactor .sudamericana-prog--speakers .sudamericana-speaker-name {
  color: #240808 !important;
}

body.confut-nordeste-refactor .sudamericana-prog--speakers .sudamericana-speaker-title {
  color: #4a5a70 !important;
}

body.confut-nordeste-refactor .sudamericana-prog--speakers .sudamericana-prog-header {
  margin-bottom: clamp(1.25rem, 3.5vw, 2.5rem);
}

/* Nordeste — posters: priorizar rosto (cortar mais a esquerda, puxar p/ direita) */
body.confut-nordeste-refactor .sudamericana-prog--speakers .sudamericana-speaker-card.suda-speaker-card--poster {
  background: transparent;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.18);
}

body.confut-nordeste-refactor .sudamericana-prog--speakers .sudamericana-speaker-card.suda-speaker-card--poster img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: 94% 28%;
  transform: scale(1.08);
  transform-origin: 92% 30%;
  flex-shrink: 0;
  display: block;
}

.nordeste-venue-showcase__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(100deg, rgba(30, 7, 7, 0.18) 0%, rgba(36, 8, 8, 0.2) 40%, rgba(58, 13, 13, 0.58) 72%, rgba(36, 8, 8, 0.72) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.42) 100%);
  pointer-events: none;
}

.nordeste-venue-showcase__decor {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
}

.nordeste-venue-showcase__dots {
  position: absolute;
  top: clamp(1.25rem, 4.5vw, 2.75rem);
  left: clamp(1rem, 4vw, 2.75rem);
  width: min(6.5rem, 32vw);
  height: min(7rem, 36vw);
  opacity: 0.35;
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.64) 1px, transparent 1.5px);
  background-size: 11px 11px;
}

.nordeste-venue-showcase__frame {
  position: absolute;
  top: clamp(1.5rem, 5vw, 3.25rem);
  left: clamp(0.65rem, 2.5vw, 1.75rem);
  width: min(38%, 15rem);
  height: min(48%, 18rem);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 3px;
  opacity: 0.5;
}

.nordeste-venue-showcase__accent-square {
  position: absolute;
  bottom: clamp(1.75rem, 5.5vw, 3.5rem);
  left: clamp(1rem, 4vw, 2.75rem);
  width: clamp(2.5rem, 6.5vw, 3.35rem);
  height: clamp(2.5rem, 6.5vw, 3.35rem);
  background: var(--confut-nordeste-secondary);
  opacity: 0.95;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.12);
}

.nordeste-venue-showcase__glow {
  display: none !important;
}

.nordeste-venue-showcase__inner {
  position: relative;
  z-index: 3;
}

.nordeste-venue-showcase__content {
  max-width: 38rem;
  margin-left: auto;
  margin-right: 0;
  padding: clamp(1.5rem, 3.2vw, 2.35rem) clamp(1.35rem, 2.8vw, 2rem);
  border-radius: 16px;
  background: rgba(20, 6, 6, 0.78);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 28px 56px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.nordeste-venue-showcase__eyebrow {
  font-size: clamp(0.72rem, 1.65vw, 0.82rem);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.95) !important;
  margin-bottom: 0.85rem !important;
  padding-left: 0.85rem;
  border-left: 3px solid var(--confut-nordeste-secondary);
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
}

.confut-nordeste-theme .nordeste-venue-showcase__title,
.nordeste-venue-showcase__title {
  font-size: clamp(1.35rem, 3.4vw, 2rem);
  font-weight: 800;
  letter-spacing: 0.065em;
  line-height: 1.18;
  text-transform: uppercase;
  color: #fff !important;
  margin: 0 0 1.35rem !important;
  text-wrap: balance;
  text-shadow: 0 2px 28px rgba(0, 0, 0, 0.65), 0 1px 2px rgba(0, 0, 0, 0.35);
}

.nordeste-venue-showcase__title::before {
  content: "";
  display: block;
  width: 2.75rem;
  height: 3px;
  margin-bottom: 1rem;
  background: linear-gradient(90deg, var(--confut-nordeste-primary), var(--confut-nordeste-secondary));
  border-radius: 2px;
  box-shadow: 0 0 18px rgba(255, 152, 0, 0.28);
}

.nordeste-venue-showcase__lead {
  font-size: clamp(0.98rem, 2.05vw, 1.12rem);
  line-height: 1.78;
  color: rgba(248, 250, 252, 0.96) !important;
  margin-bottom: 0;
  max-width: 36rem;
  text-shadow: 0 1px 18px rgba(0, 0, 0, 0.5);
}

.nordeste-venue-showcase__note {
  margin-top: 1rem;
  margin-bottom: 0;
  font-size: 0.98rem;
  line-height: 1.65;
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: 0 2px 22px rgba(0, 0, 0, 0.65);
}

@media (max-width: 767.98px) {
  .nordeste-venue-showcase {
    min-height: clamp(24rem, 62vh, 40rem);
    padding: 2.5rem 0 2.85rem !important;
    align-items: flex-start;
  }

  .nordeste-venue-showcase__parallax {
    height: 122%;
    top: -11%;
    background-position: center 38%;
  }

  .nordeste-venue-showcase__dots,
  .nordeste-venue-showcase__frame {
    display: none !important;
  }

  .nordeste-venue-showcase__accent-square {
    width: 1.45rem;
    height: 1.45rem;
    top: 0.65rem;
    bottom: auto;
    left: auto;
    right: 0.65rem;
    opacity: 0.42;
  }

  .nordeste-venue-showcase__content {
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
    padding: 1.35rem 1.1rem 1.5rem;
    background: rgba(20, 6, 6, 0.82);
  }

  .nordeste-venue-showcase__title {
    font-size: clamp(1.02rem, 5.1vw, 1.26rem);
    line-height: 1.24;
    margin-bottom: 1rem !important;
  }

  .nordeste-venue-showcase__title::before {
    width: 2.35rem;
    margin-bottom: 0.82rem;
  }

  .nordeste-venue-showcase__lead {
    font-size: 0.98rem;
    line-height: 1.7;
  }
}

/* ---------- Nordeste: hotel no padrão Confut USA/Sudamericana ---------- */
.nordeste-venue-showcase {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  min-height: clamp(28rem, 78vh, 46rem);
  display: flex;
  align-items: center;
  padding: clamp(3.5rem, 9vw, 6.75rem) 0 !important;
  color: #fff;
  background: #240808 !important;
}

.nordeste-venue-showcase__parallax {
  position: absolute;
  left: 0;
  width: 100%;
  height: 152%;
  top: -26%;
  z-index: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
}

.nordeste-venue-showcase__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(100deg, rgba(30, 7, 7, 0.18) 0%, rgba(36, 8, 8, 0.2) 40%, rgba(58, 13, 13, 0.58) 72%, rgba(36, 8, 8, 0.72) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.42) 100%);
  pointer-events: none;
}

.nordeste-venue-showcase__decor {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
}

.nordeste-venue-showcase__dots {
  position: absolute;
  top: clamp(1.25rem, 4.5vw, 2.75rem);
  left: clamp(1rem, 4vw, 2.75rem);
  width: min(6.5rem, 32vw);
  height: min(7rem, 36vw);
  opacity: 0.35;
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.64) 1px, transparent 1.5px);
  background-size: 11px 11px;
}

.nordeste-venue-showcase__frame {
  position: absolute;
  top: clamp(1.5rem, 5vw, 3.25rem);
  left: clamp(0.65rem, 2.5vw, 1.75rem);
  width: min(38%, 15rem);
  height: min(48%, 18rem);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 3px;
  opacity: 0.5;
}

.nordeste-venue-showcase__accent-square {
  position: absolute;
  bottom: clamp(1.75rem, 5.5vw, 3.5rem);
  left: clamp(1rem, 4vw, 2.75rem);
  width: clamp(2.5rem, 6.5vw, 3.35rem);
  height: clamp(2.5rem, 6.5vw, 3.35rem);
  background: var(--confut-nordeste-secondary);
  opacity: 0.95;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.12);
}

.nordeste-venue-showcase__glow {
  display: none !important;
}

.nordeste-venue-showcase__inner {
  position: relative;
  z-index: 3;
}

.nordeste-venue-showcase__content {
  max-width: 38rem;
  margin-left: auto;
  margin-right: 0;
  padding: clamp(1.5rem, 3.2vw, 2.35rem) clamp(1.35rem, 2.8vw, 2rem);
  border-radius: 16px;
  background: rgba(36, 8, 8, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 28px 56px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.nordeste-venue-showcase__eyebrow {
  font-size: clamp(0.72rem, 1.65vw, 0.82rem);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.95) !important;
  margin-bottom: 0.85rem !important;
  padding-left: 0.85rem;
  border-left: 3px solid var(--confut-nordeste-secondary);
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
}

.confut-nordeste-theme .nordeste-venue-showcase__title,
.nordeste-venue-showcase__title {
  font-size: clamp(1.35rem, 3.4vw, 2rem);
  font-weight: 800;
  letter-spacing: 0.065em;
  line-height: 1.18;
  text-transform: uppercase;
  color: #fff !important;
  margin: 0 0 1.35rem !important;
  text-wrap: balance;
  text-shadow: 0 2px 28px rgba(0, 0, 0, 0.65), 0 1px 2px rgba(0, 0, 0, 0.35);
}

.nordeste-venue-showcase__title::before {
  content: "";
  display: block;
  width: 2.75rem;
  height: 3px;
  margin-bottom: 1rem;
  background: linear-gradient(90deg, var(--confut-nordeste-primary), var(--confut-nordeste-secondary));
  border-radius: 2px;
  box-shadow: 0 0 18px rgba(255, 152, 0, 0.28);
}

.nordeste-venue-showcase__lead {
  font-size: clamp(0.98rem, 2.05vw, 1.12rem);
  line-height: 1.78;
  color: rgba(248, 250, 252, 0.96) !important;
  margin-bottom: 0;
  max-width: 36rem;
  text-shadow: 0 1px 18px rgba(0, 0, 0, 0.5);
}

@media (max-width: 767.98px) {
  .nordeste-venue-showcase {
    min-height: clamp(24rem, 62vh, 40rem);
    padding: 2.5rem 0 2.85rem !important;
    align-items: flex-start;
  }

  .nordeste-venue-showcase__parallax {
    height: 122%;
    top: -11%;
    background-position: center 38%;
  }

  .nordeste-venue-showcase__dots,
  .nordeste-venue-showcase__frame {
    display: none !important;
  }

  .nordeste-venue-showcase__accent-square {
    width: 1.45rem;
    height: 1.45rem;
    top: 0.65rem;
    bottom: auto;
    left: auto;
    right: 0.65rem;
    opacity: 0.42;
  }

  .nordeste-venue-showcase__content {
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
    padding: 1.35rem 1.1rem 1.5rem;
    background: rgba(36, 8, 8, 0.68);
  }

  .nordeste-venue-showcase__title {
    font-size: clamp(1.02rem, 5.1vw, 1.26rem);
    line-height: 1.24;
    margin-bottom: 1rem !important;
  }

  .nordeste-venue-showcase__title::before {
    width: 2.35rem;
    margin-bottom: 0.82rem;
  }

  .nordeste-venue-showcase__lead {
    font-size: 0.98rem;
    line-height: 1.7;
  }
}
