/**
 * Academia Brasil - China — Modern Red / Black / White UI/UX Design System
 * Preserves 100% of Elementor editability and Portuguese text content.
 */

:root {
  --abc-red: #D90429;
  --abc-red-bright: #EF233C;
  --abc-red-dark: #9B001A;
  --abc-red-glow: rgba(217, 4, 41, 0.26);
  --abc-black: #0A0A0D;
  --abc-dark: #121217;
  --abc-charcoal: #1B1B22;
  --abc-white: #FFFFFF;
  --abc-surface: #F6F7FA;
  --abc-border-light: rgba(15, 15, 20, 0.08);
  --abc-border-dark: rgba(255, 255, 255, 0.1);
  --abc-text-main: #151519;
  --abc-text-muted: #525462;
  --abc-font-heading: 'Plus Jakarta Sans', 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;
  --abc-font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --abc-radius-sm: 8px;
  --abc-radius-md: 12px;
  --abc-radius-lg: 16px;
  --abc-shadow-sm: 0 4px 12px rgba(10, 10, 15, 0.05);
  --abc-shadow-card: 0 10px 26px -6px rgba(10, 10, 15, 0.07), 0 4px 10px -2px rgba(10, 10, 15, 0.04);
  --abc-shadow-card-hover: 0 18px 36px -8px rgba(217, 4, 41, 0.15), 0 8px 20px -6px rgba(10, 10, 15, 0.1);
  --abc-transition: 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* ==========================================================================
   1. Global Typography, Resets & Red Highlight Tags (<spam> & <span>)
   ========================================================================== */
html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--abc-font-body) !important;
  color: var(--abc-text-main);
  background-color: var(--abc-white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  font-family: var(--abc-font-heading) !important;
  letter-spacing: -0.02em;
  line-height: 1.22;
}

/* Preserve and modernize the original <spam> red accent tags in headings */
h1 spam, h2 spam, h3 spam, h4 spam,
.elementor-heading-title spam,
.elementor-heading-title span.abc-accent {
  color: var(--abc-red) !important;
  font-weight: 800;
  position: relative;
  display: inline-block;
}

p {
  font-family: var(--abc-font-body);
  line-height: 1.6;
}

/* ==========================================================================
   2. Sticky Header (#9) & Navigation Menu
   ========================================================================== */
#abc-site-header {
  position: sticky;
  top: 0;
  z-index: 9990;
  background: var(--abc-black);
  transition: box-shadow var(--abc-transition), background-color var(--abc-transition);
}

#abc-site-header.is-scrolled {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.55);
}

/* Header Top Bar (.elementor-element-2f2ba3d0) */
.elementor-9 .elementor-element.elementor-element-2f2ba3d0 {
  background-color: #060608 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding: 5px 20px !important;
}

.elementor-9 .elementor-element.elementor-element-56892dba .elementor-icon-list-item,
.elementor-9 .elementor-element.elementor-element-56892dba .elementor-icon-list-item > a {
  font-family: var(--abc-font-body) !important;
  font-size: 12.5px !important;
  color: #D4D4DC !important;
  text-decoration: none !important;
  transition: color 0.22s ease, transform 0.22s ease;
}

.elementor-9 .elementor-element.elementor-element-56892dba .elementor-icon-list-item:hover > a,
.elementor-9 .elementor-element.elementor-element-56892dba .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: #FFFFFF !important;
}

.elementor-9 .elementor-element.elementor-element-56892dba .elementor-icon-list-icon i {
  color: var(--abc-red-bright) !important;
}

/* Main Header Row (.elementor-element-4c4bc72d) */
.elementor-9 .elementor-element.elementor-element-4c4bc72d {
  background: rgba(12, 12, 16, 0.96) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 2px solid rgba(217, 4, 41, 0.45) !important;
  padding: 8px 20px !important;
  transition: padding var(--abc-transition);
}

#abc-site-header.is-scrolled .elementor-9 .elementor-element.elementor-element-4c4bc72d {
  padding: 5px 20px !important;
}

/* Header Logo (.elementor-element-3c66f0a) */
.elementor-9 .elementor-element.elementor-element-3c66f0a img {
  max-height: 68px;
  width: auto;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.4));
  transition: transform var(--abc-transition), max-height var(--abc-transition);
}

#abc-site-header.is-scrolled .elementor-9 .elementor-element.elementor-element-3c66f0a img {
  max-height: 56px;
}

.elementor-9 .elementor-element.elementor-element-3c66f0a img:hover {
  transform: scale(1.04);
}

/* Desktop Navigation Menu (.abc-nav-menu) */
.abc-nav-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  position: relative;
}

.abc-nav-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
}

.abc-nav-menu > li {
  position: relative;
  margin: 0;
  padding: 6px 0;
}

.abc-nav-menu > li > a {
  font-family: var(--abc-font-heading) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #F0F0F5 !important;
  text-decoration: none !important;
  padding: 6px 2px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  position: relative;
  transition: color 0.25s ease;
}

.abc-nav-menu > li > a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background: var(--abc-red-bright);
  border-radius: 2px;
  transition: width 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

.abc-nav-menu > li:hover > a,
.abc-nav-menu > li.current-menu-item > a,
.abc-nav-menu > li.current-menu-ancestor > a {
  color: #FFFFFF !important;
}

.abc-nav-menu > li:hover > a::after,
.abc-nav-menu > li.current-menu-item > a::after,
.abc-nav-menu > li.current-menu-ancestor > a::after {
  width: 100%;
}

/* Dropdown Caret Indicator */
.abc-menu-caret {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-right: 1.8px solid currentColor;
  border-bottom: 1.8px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform 0.25s ease;
  opacity: 0.8;
}

.abc-nav-menu > li:hover > a .abc-menu-caret {
  transform: rotate(225deg) translateY(-1px);
  color: var(--abc-red-bright);
}

/* Desktop Dropdown Submenu (.abc-nav-menu .sub-menu) */
.abc-nav-menu .sub-menu {
  list-style: none;
  margin: 0;
  padding: 8px;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 240px;
  background: #14141A;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-top: 3px solid var(--abc-red);
  border-radius: 0 0 12px 12px;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.55);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.24s ease, transform 0.24s ease, visibility 0.24s;
  z-index: 9999;
}

.abc-nav-menu > li:hover > .sub-menu,
.abc-nav-menu > li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.abc-nav-menu .sub-menu li {
  margin: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.abc-nav-menu .sub-menu li:last-child {
  border-bottom: none;
}

.abc-nav-menu .sub-menu li a {
  display: block;
  padding: 10px 14px;
  font-family: var(--abc-font-body) !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: #E2E2EC !important;
  text-decoration: none !important;
  border-radius: 8px;
  transition: background-color 0.2s ease, color 0.2s ease, padding-left 0.2s ease;
}

.abc-nav-menu .sub-menu li a:hover,
.abc-nav-menu .sub-menu li.current-menu-item > a {
  background: rgba(217, 4, 41, 0.16);
  color: #FFFFFF !important;
  padding-left: 18px;
}

/* Mobile Menu Toggle (Hidden on Desktop) */
.abc-mobile-menu-toggle,
.abc-mobile-dropdown {
  display: none;
}

/* Header "Atendimento" Button (.elementor-element-cd751d8) */
.elementor-9 .elementor-element.elementor-element-cd751d8 .elementor-button {
  background: linear-gradient(135deg, var(--abc-red-bright) 0%, var(--abc-red-dark) 100%) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 10px 22px !important;
  font-family: var(--abc-font-heading) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: 0 6px 20px rgba(217, 4, 41, 0.35) !important;
  transition: transform var(--abc-transition), box-shadow var(--abc-transition), filter var(--abc-transition) !important;
}

.elementor-9 .elementor-element.elementor-element-cd751d8 .elementor-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(239, 35, 60, 0.5) !important;
  filter: brightness(1.08);
}

/* ==========================================================================
   3. Buttons, Dividers & Compact Section Spacing (Site-Wide)
   ========================================================================== */
.elementor-button {
  font-family: var(--abc-font-heading) !important;
  font-weight: 700 !important;
  border-radius: 9px !important;
  letter-spacing: 0.03em;
  transition: all var(--abc-transition) !important;
  position: relative;
  overflow: hidden;
}

/* Primary Red Buttons */
.elementor-button[style*="#FF0006"],
.elementor-19 .elementor-element.elementor-element-ab5305b .elementor-button,
.elementor-19 .elementor-element.elementor-element-fa611a1 .elementor-button,
.elementor-5347 .elementor-element.elementor-element-6ef72ebd .elementor-button {
  background: linear-gradient(135deg, var(--abc-red-bright) 0%, var(--abc-red) 100%) !important;
  color: #FFFFFF !important;
  border: none !important;
  padding: 12px 24px !important;
  font-size: 14.5px !important;
  box-shadow: 0 6px 18px var(--abc-red-glow) !important;
}

.elementor-19 .elementor-element.elementor-element-ab5305b .elementor-button:hover,
.elementor-19 .elementor-element.elementor-element-fa611a1 .elementor-button:hover,
.elementor-5347 .elementor-element.elementor-element-6ef72ebd .elementor-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(217, 4, 41, 0.4) !important;
}

/* Dividers */
.elementor-divider-separator {
  border-radius: 4px;
}

/* ==========================================================================
   4. Home Page (#19) — Compact Sections, Uncropped Course Photos & Aligned Cards
   ========================================================================== */

/* 4A. Hero Section (.elementor-element-cff7d52) — Reduce excessive 600px vertical padding */
.elementor-19 .elementor-element.elementor-element-cff7d52 {
  position: relative;
  padding: 120px 20px 140px 20px !important;
}

.elementor-19 .elementor-element.elementor-element-3b7ae74 .elementor-heading-title {
  text-shadow: 0 6px 28px rgba(0, 0, 0, 0.75);
  font-weight: 800 !important;
  font-size: clamp(28px, 3.4vw, 38px) !important;
}

/* Intro Section (.elementor-element-0a020dd) — Compact vertical padding */
.elementor-19 .elementor-element.elementor-element-0a020dd {
  padding: 48px 20px !important;
}

.elementor-19 .elementor-element.elementor-element-a8ab456 .elementor-heading-title {
  font-size: clamp(28px, 3vw, 36px) !important;
}

.elementor-19 .elementor-element.elementor-element-a71ab11 .elementor-heading-title {
  font-size: 16.5px !important;
  line-height: 1.55 !important;
}

/* Section Headings ("Nossos Cursos", "Nossas Modalidades", "Galeria", "Alunos", "Blog") */
.elementor-19 .elementor-element.elementor-element-ebde9c0 .elementor-heading-title,
.elementor-19 .elementor-element.elementor-element-063aa17 .elementor-heading-title,
.elementor-19 .elementor-element.elementor-element-2818521 .elementor-heading-title,
.elementor-19 .elementor-element.elementor-element-4fe0934 .elementor-heading-title,
.elementor-19 .elementor-element.elementor-element-539e0ae .elementor-heading-title {
  font-size: clamp(26px, 2.8vw, 33px) !important;
}

/* 4B. "Nossos Cursos" Compact 4-Card Grid — 100% Uncropped Course Flyers (.elementor-element-6125015) */
.elementor-19 .elementor-element.elementor-element-6125015 {
  padding: 44px 0 48px 0 !important;
}

.elementor-19 .elementor-element.elementor-element-32f037c {
  padding: 16px 0 0 0 !important;
  margin: 0 !important;
}

.elementor-19 .elementor-element.elementor-element-07f647f {
  margin-top: 20px !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

.elementor-19 .elementor-element.elementor-element-32f037c > .elementor-container,
.elementor-19 .elementor-element.elementor-element-07f647f > .elementor-container {
  max-width: 1080px !important;
  display: flex !important;
  align-items: stretch !important;
  gap: 20px !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
}

.elementor-19 .elementor-element.elementor-element-a2df45c,
.elementor-19 .elementor-element.elementor-element-5d6023d,
.elementor-19 .elementor-element.elementor-element-6bdb4c4,
.elementor-19 .elementor-element.elementor-element-31cced1 {
  display: flex !important;
  flex-direction: column !important;
}

.elementor-19 .elementor-element.elementor-element-a2df45c > .elementor-element-populated,
.elementor-19 .elementor-element.elementor-element-5d6023d > .elementor-element-populated,
.elementor-19 .elementor-element.elementor-element-6bdb4c4 > .elementor-element-populated,
.elementor-19 .elementor-element.elementor-element-31cced1 > .elementor-element-populated {
  background: #FFFFFF !important;
  border-radius: var(--abc-radius-lg) !important;
  border: 1px solid var(--abc-border-light) !important;
  border-top: 3px solid var(--abc-red) !important;
  box-shadow: var(--abc-shadow-card) !important;
  padding: 16px 20px 18px !important;
  margin: 0 !important;
  height: 100% !important;
  transition: transform var(--abc-transition), box-shadow var(--abc-transition) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  box-sizing: border-box !important;
}

.elementor-19 .elementor-element.elementor-element-a2df45c > .elementor-element-populated:hover,
.elementor-19 .elementor-element.elementor-element-5d6023d > .elementor-element-populated:hover,
.elementor-19 .elementor-element.elementor-element-6bdb4c4 > .elementor-element-populated:hover,
.elementor-19 .elementor-element.elementor-element-31cced1 > .elementor-element-populated:hover {
  transform: translateY(-5px);
  box-shadow: var(--abc-shadow-card-hover) !important;
}

/* Course Card Images — Show 100% of the flyer uncropped (object-fit: contain) */
.elementor-19 .elementor-element.elementor-element-f951076 > .elementor-widget-container,
.elementor-19 .elementor-element.elementor-element-3a9f105 > .elementor-widget-container,
.elementor-19 .elementor-element.elementor-element-cbe8456 > .elementor-widget-container,
.elementor-19 .elementor-element.elementor-element-2473bd1 > .elementor-widget-container {
  margin: 0 0 12px 0 !important;
  padding: 8px !important;
  background: #0E0E13 !important;
  border-radius: var(--abc-radius-md);
  overflow: hidden;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.elementor-19 .elementor-element.elementor-element-f951076 img,
.elementor-19 .elementor-element.elementor-element-3a9f105 img,
.elementor-19 .elementor-element.elementor-element-cbe8456 img,
.elementor-19 .elementor-element.elementor-element-2473bd1 img {
  border-radius: 6px !important;
  width: auto !important;
  max-width: 100% !important;
  height: 210px !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.elementor-19 .elementor-element.elementor-element-a2df45c:hover img,
.elementor-19 .elementor-element.elementor-element-5d6023d:hover img,
.elementor-19 .elementor-element.elementor-element-6bdb4c4:hover img,
.elementor-19 .elementor-element.elementor-element-31cced1:hover img {
  transform: scale(1.03);
}

/* Compact Course Card Headings, Dividers & Text */
.elementor-19 .elementor-element.elementor-element-6e8a3b6 > .elementor-widget-container,
.elementor-19 .elementor-element.elementor-element-69bd50d > .elementor-widget-container,
.elementor-19 .elementor-element.elementor-element-9b26e5b > .elementor-widget-container,
.elementor-19 .elementor-element.elementor-element-81e8442 > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-19 .elementor-element.elementor-element-6e8a3b6 .elementor-heading-title,
.elementor-19 .elementor-element.elementor-element-69bd50d .elementor-heading-title,
.elementor-19 .elementor-element.elementor-element-9b26e5b .elementor-heading-title,
.elementor-19 .elementor-element.elementor-element-81e8442 .elementor-heading-title {
  font-size: 17.5px !important;
  font-weight: 700 !important;
  line-height: 1.28 !important;
  letter-spacing: -0.01em !important;
}

.elementor-19 .elementor-element.elementor-element-a07566b .elementor-divider,
.elementor-19 .elementor-element.elementor-element-1ff71d3 .elementor-divider,
.elementor-19 .elementor-element.elementor-element-f8ddae8 .elementor-divider,
.elementor-19 .elementor-element.elementor-element-d1dd109 .elementor-divider {
  padding-block-start: 3px !important;
  padding-block-end: 3px !important;
}

.elementor-19 .elementor-element.elementor-element-fb90339,
.elementor-19 .elementor-element.elementor-element-0769f7d,
.elementor-19 .elementor-element.elementor-element-73bedd4,
.elementor-19 .elementor-element.elementor-element-5d0ff3e {
  font-size: 13.8px !important;
  line-height: 1.48 !important;
  color: var(--abc-text-muted) !important;
}

.elementor-19 .elementor-element.elementor-element-fb90339 p,
.elementor-19 .elementor-element.elementor-element-0769f7d p,
.elementor-19 .elementor-element.elementor-element-73bedd4 p,
.elementor-19 .elementor-element.elementor-element-5d0ff3e p {
  margin: 0 0 6px 0 !important;
  line-height: 1.48 !important;
}

/* Pin Compact Course Card Buttons to Bottom */
.elementor-19 .elementor-element.elementor-element-fbf72e9,
.elementor-19 .elementor-element.elementor-element-541c3e4,
.elementor-19 .elementor-element.elementor-element-3de4db0,
.elementor-19 .elementor-element.elementor-element-c43ef75 {
  margin-top: auto !important;
  padding-top: 8px !important;
}

.elementor-19 .elementor-element.elementor-element-fbf72e9 > .elementor-widget-container,
.elementor-19 .elementor-element.elementor-element-541c3e4 > .elementor-widget-container,
.elementor-19 .elementor-element.elementor-element-3de4db0 > .elementor-widget-container,
.elementor-19 .elementor-element.elementor-element-c43ef75 > .elementor-widget-container {
  margin: 0 !important;
}

.elementor-19 .elementor-element.elementor-element-fbf72e9 .elementor-button,
.elementor-19 .elementor-element.elementor-element-541c3e4 .elementor-button,
.elementor-19 .elementor-element.elementor-element-3de4db0 .elementor-button,
.elementor-19 .elementor-element.elementor-element-c43ef75 .elementor-button {
  background: var(--abc-black) !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
  padding: 9px 20px !important;
  font-size: 13px !important;
  border: 1px solid var(--abc-black) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12) !important;
}

.elementor-19 .elementor-element.elementor-element-fbf72e9 .elementor-button:hover,
.elementor-19 .elementor-element.elementor-element-541c3e4 .elementor-button:hover,
.elementor-19 .elementor-element.elementor-element-3de4db0 .elementor-button:hover,
.elementor-19 .elementor-element.elementor-element-c43ef75 .elementor-button:hover {
  background: var(--abc-red) !important;
  border-color: var(--abc-red) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 18px var(--abc-red-glow) !important;
}

/* ==========================================================================
   4C. "Nossas Modalidades" — Compact, 100% Row & Column Aligned Cards
   ========================================================================== */
.elementor-19 .elementor-element.elementor-element-fa70925 {
  padding-top: 8px !important;
}

.elementor-19 .elementor-element.elementor-element-2aa4035 {
  padding: 16px 0 20px 0 !important;
}

.elementor-19 .elementor-element.elementor-element-2aa4035 > .elementor-container {
  max-width: 1180px !important;
  padding: 0 20px !important;
  display: flex !important;
  align-items: stretch !important;
  gap: 20px !important;
  box-sizing: border-box !important;
}

@media screen and (min-width: 1025px) {
  .elementor-19 .elementor-element.elementor-element-dcfb49b,
  .elementor-19 .elementor-element.elementor-element-dc3e905 {
    width: calc(50% - 10px) !important;
    flex: 0 0 calc(50% - 10px) !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .elementor-19 .elementor-element.elementor-element-dcfb49b > .elementor-element-populated,
  .elementor-19 .elementor-element.elementor-element-dc3e905 > .elementor-element-populated {
    display: grid !important;
    grid-template-rows: 1fr 1fr !important;
    gap: 20px !important;
    height: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    align-content: stretch !important;
    align-items: stretch !important;
  }

  /* 5th Modality Card Row (b0c190e - Capoeira centered with identical card width) */
  .elementor-19 .elementor-element.elementor-element-b0c190e {
    padding: 0 0 48px 0 !important;
  }

  .elementor-19 .elementor-element.elementor-element-b0c190e > .elementor-container {
    max-width: 1180px !important;
    padding: 0 20px !important;
    display: flex !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  .elementor-19 .elementor-element.elementor-element-bbdc67d,
  .elementor-19 .elementor-element.elementor-element-82bfdfa {
    display: none !important;
  }

  .elementor-19 .elementor-element.elementor-element-e97cb3c {
    width: calc(50% - 10px) !important;
    flex: 0 0 calc(50% - 10px) !important;
    margin: 0 auto !important;
  }

  .elementor-19 .elementor-element.elementor-element-e97cb3c > .elementor-element-populated {
    padding: 0 !important;
    margin: 0 !important;
  }
}

/* All 5 Modality Card Containers (Kung-fu, Tchi-Kung, Tai-chi-chuan, Defesa Pessoal, Capoeira) */
.elementor-19 .elementor-element.elementor-element-f1b85b9,
.elementor-19 .elementor-element.elementor-element-89d4677,
.elementor-19 .elementor-element.elementor-element-7f53506,
.elementor-19 .elementor-element.elementor-element-9f251cc,
.elementor-19 .elementor-element.elementor-element-c8304ee {
  background: #FFFFFF !important;
  border-radius: var(--abc-radius-lg) !important;
  border: 1px solid var(--abc-border-light) !important;
  box-shadow: var(--abc-shadow-card) !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  height: 100% !important;
  min-height: 190px !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
  transition: transform var(--abc-transition), box-shadow var(--abc-transition), border-color var(--abc-transition) !important;
}

.elementor-19 .elementor-element.elementor-element-f1b85b9:hover,
.elementor-19 .elementor-element.elementor-element-89d4677:hover,
.elementor-19 .elementor-element.elementor-element-7f53506:hover,
.elementor-19 .elementor-element.elementor-element-9f251cc:hover,
.elementor-19 .elementor-element.elementor-element-c8304ee:hover {
  transform: translateY(-4px);
  box-shadow: var(--abc-shadow-card-hover) !important;
  border-color: rgba(217, 4, 41, 0.35) !important;
}

/* Inner flex row of each Modality Card */
.elementor-19 .elementor-element.elementor-element-f1b85b9 > .elementor-container,
.elementor-19 .elementor-element.elementor-element-89d4677 > .elementor-container,
.elementor-19 .elementor-element.elementor-element-7f53506 > .elementor-container,
.elementor-19 .elementor-element.elementor-element-9f251cc > .elementor-container,
.elementor-19 .elementor-element.elementor-element-c8304ee > .elementor-container {
  display: flex !important;
  align-items: stretch !important;
  height: 100% !important;
  min-height: 190px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Left Image Columns inside all 5 Modality Cards */
@media screen and (min-width: 768px) {
  .elementor-19 .elementor-element.elementor-element-8054029,
  .elementor-19 .elementor-element.elementor-element-1ee07b6,
  .elementor-19 .elementor-element.elementor-element-571c0c7,
  .elementor-19 .elementor-element.elementor-element-aa457d2,
  .elementor-19 .elementor-element.elementor-element-31c99f8 {
    width: 38% !important;
    flex: 0 0 38% !important;
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-19 .elementor-element.elementor-element-064ed2b,
  .elementor-19 .elementor-element.elementor-element-5436412,
  .elementor-19 .elementor-element.elementor-element-13a7d5b,
  .elementor-19 .elementor-element.elementor-element-87536aa,
  .elementor-19 .elementor-element.elementor-element-c608a4b {
    width: 62% !important;
    flex: 0 0 62% !important;
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

.elementor-19 .elementor-element.elementor-element-8054029 > .elementor-element-populated,
.elementor-19 .elementor-element.elementor-element-1ee07b6 > .elementor-element-populated,
.elementor-19 .elementor-element.elementor-element-571c0c7 > .elementor-element-populated,
.elementor-19 .elementor-element.elementor-element-aa457d2 > .elementor-element-populated,
.elementor-19 .elementor-element.elementor-element-31c99f8 > .elementor-element-populated,
.elementor-19 .elementor-element.elementor-element-dcfb755,
.elementor-19 .elementor-element.elementor-element-dfe1ba9,
.elementor-19 .elementor-element.elementor-element-66cf8e4,
.elementor-19 .elementor-element.elementor-element-7f91c09,
.elementor-19 .elementor-element.elementor-element-abdedea,
.elementor-19 .elementor-element.elementor-element-dcfb755 > .elementor-widget-container,
.elementor-19 .elementor-element.elementor-element-dfe1ba9 > .elementor-widget-container,
.elementor-19 .elementor-element.elementor-element-66cf8e4 > .elementor-widget-container,
.elementor-19 .elementor-element.elementor-element-7f91c09 > .elementor-widget-container,
.elementor-19 .elementor-element.elementor-element-abdedea > .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  overflow: hidden !important;
}

.elementor-19 .elementor-element.elementor-element-f1b85b9 img,
.elementor-19 .elementor-element.elementor-element-89d4677 img,
.elementor-19 .elementor-element.elementor-element-7f53506 img,
.elementor-19 .elementor-element.elementor-element-9f251cc img,
.elementor-19 .elementor-element.elementor-element-c8304ee img {
  width: 100% !important;
  height: 100% !important;
  min-height: 190px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.45s ease;
}

.elementor-19 .elementor-element.elementor-element-f1b85b9:hover img,
.elementor-19 .elementor-element.elementor-element-89d4677:hover img,
.elementor-19 .elementor-element.elementor-element-7f53506:hover img,
.elementor-19 .elementor-element.elementor-element-9f251cc:hover img,
.elementor-19 .elementor-element.elementor-element-c8304ee:hover img {
  transform: scale(1.05);
}

/* Right Content Columns inside all 5 Modality Cards — Compact padding & typography */
.elementor-19 .elementor-element.elementor-element-064ed2b > .elementor-element-populated,
.elementor-19 .elementor-element.elementor-element-5436412 > .elementor-element-populated,
.elementor-19 .elementor-element.elementor-element-13a7d5b > .elementor-element-populated,
.elementor-19 .elementor-element.elementor-element-87536aa > .elementor-element-populated,
.elementor-19 .elementor-element.elementor-element-c608a4b > .elementor-element-populated {
  margin: 0 !important;
  --e-column-margin-right: 0px !important;
  --e-column-margin-left: 0px !important;
  padding: 15px 18px 14px !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  box-sizing: border-box !important;
}

.elementor-19 .elementor-element.elementor-element-f636a25 .elementor-heading-title,
.elementor-19 .elementor-element.elementor-element-a7542a5 .elementor-heading-title,
.elementor-19 .elementor-element.elementor-element-e5e445a .elementor-heading-title,
.elementor-19 .elementor-element.elementor-element-647b213 .elementor-heading-title,
.elementor-19 .elementor-element.elementor-element-5dc7326 .elementor-heading-title {
  font-size: 18.5px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

.elementor-19 .elementor-element.elementor-element-f2b9040 .elementor-divider,
.elementor-19 .elementor-element.elementor-element-6fda193 .elementor-divider,
.elementor-19 .elementor-element.elementor-element-b01dbf2 .elementor-divider,
.elementor-19 .elementor-element.elementor-element-81ac50c .elementor-divider,
.elementor-19 .elementor-element.elementor-element-318ca15 .elementor-divider {
  padding-block-start: 2px !important;
  padding-block-end: 3px !important;
}

.elementor-19 .elementor-element.elementor-element-aa91295,
.elementor-19 .elementor-element.elementor-element-b76204f,
.elementor-19 .elementor-element.elementor-element-0b6be98,
.elementor-19 .elementor-element.elementor-element-4ed2195,
.elementor-19 .elementor-element.elementor-element-3844f2a {
  font-size: 13.2px !important;
  line-height: 1.44 !important;
  color: var(--abc-text-muted) !important;
}

.elementor-19 .elementor-element.elementor-element-aa91295 p,
.elementor-19 .elementor-element.elementor-element-b76204f p,
.elementor-19 .elementor-element.elementor-element-0b6be98 p,
.elementor-19 .elementor-element.elementor-element-4ed2195 p,
.elementor-19 .elementor-element.elementor-element-3844f2a p {
  margin: 0 0 6px 0 !important;
  line-height: 1.44 !important;
}

/* Pin Modality Card "Conheça mais" link buttons to the bottom of the card */
.elementor-19 .elementor-element.elementor-element-79e9eb1,
.elementor-19 .elementor-element.elementor-element-ad27c4e,
.elementor-19 .elementor-element.elementor-element-320f9a2,
.elementor-19 .elementor-element.elementor-element-eb17124,
.elementor-19 .elementor-element.elementor-element-98c3612 {
  margin-top: auto !important;
  padding-top: 4px !important;
}

.elementor-19 .elementor-element.elementor-element-79e9eb1 > .elementor-widget-container,
.elementor-19 .elementor-element.elementor-element-ad27c4e > .elementor-widget-container,
.elementor-19 .elementor-element.elementor-element-320f9a2 > .elementor-widget-container,
.elementor-19 .elementor-element.elementor-element-eb17124 > .elementor-widget-container,
.elementor-19 .elementor-element.elementor-element-98c3612 > .elementor-widget-container {
  margin: 0 !important;
}

.elementor-19 .elementor-element.elementor-element-79e9eb1 .elementor-button,
.elementor-19 .elementor-element.elementor-element-ad27c4e .elementor-button,
.elementor-19 .elementor-element.elementor-element-320f9a2 .elementor-button,
.elementor-19 .elementor-element.elementor-element-eb17124 .elementor-button,
.elementor-19 .elementor-element.elementor-element-98c3612 .elementor-button {
  color: var(--abc-red) !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  padding: 6px 14px !important;
  background: rgba(217, 4, 41, 0.08) !important;
  border-radius: 50px !important;
}

.elementor-19 .elementor-element.elementor-element-79e9eb1 .elementor-button:hover,
.elementor-19 .elementor-element.elementor-element-ad27c4e .elementor-button:hover,
.elementor-19 .elementor-element.elementor-element-320f9a2 .elementor-button:hover,
.elementor-19 .elementor-element.elementor-element-eb17124 .elementor-button:hover,
.elementor-19 .elementor-element.elementor-element-98c3612 .elementor-button:hover {
  background: var(--abc-red) !important;
  color: #FFFFFF !important;
}

/* Mid-Page Banner (a27a49d) & Gallery Banner (490652c) — Reduce excessive min-heights */
.elementor-19 .elementor-element.elementor-element-a27a49d > .elementor-container {
  min-height: 360px !important;
  padding: 40px 20px !important;
}

.elementor-19 .elementor-element.elementor-element-490652c > .elementor-container {
  min-height: auto !important;
  padding: 44px 20px !important;
}

.elementor-19 .elementor-element.elementor-element-2c9c31a,
.elementor-19 .elementor-element.elementor-element-be147e7 {
  padding: 44px 20px !important;
}

/* ==========================================================================
   5. Modern Photo Gallery Grid (.abc-modern-gallery) — Compact Thumbnails
   ========================================================================== */
.abc-modern-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 14px;
  padding: 10px 0;
}

.abc-gallery-card {
  display: block;
  border-radius: var(--abc-radius-md);
  overflow: hidden;
  box-shadow: var(--abc-shadow-sm);
  position: relative;
  aspect-ratio: 4 / 3;
  background: var(--abc-dark);
  border: 1px solid var(--abc-border-light);
  transition: transform var(--abc-transition), box-shadow var(--abc-transition);
}

.abc-gallery-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--abc-shadow-card-hover);
}

.abc-gallery-img-wrap {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.abc-gallery-img-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.abc-gallery-card:hover .abc-gallery-img-wrap img {
  transform: scale(1.06);
}

.abc-gallery-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(10, 10, 14, 0.72) 0%, rgba(217, 4, 41, 0.25) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.abc-gallery-card:hover .abc-gallery-overlay {
  opacity: 1;
}

.abc-gallery-zoom-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--abc-red);
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  transform: scale(0.8);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
}

.abc-gallery-card:hover .abc-gallery-zoom-icon {
  transform: scale(1);
}

/* ==========================================================================
   6. Modern Testimonial Carousel (.abc-testimonial-carousel-wrapper) — Compact Cards
   ========================================================================== */
.abc-testimonial-carousel-wrapper {
  position: relative;
  overflow: hidden;
  padding: 10px 4px 16px;
  max-width: 1120px;
  margin: 0 auto;
}

.abc-testimonial-track {
  display: flex;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.abc-testimonial-slide {
  flex: 0 0 50%;
  max-width: 50%;
  padding: 0 10px;
  box-sizing: border-box;
}

.abc-testimonial-card {
  background: #FFFFFF;
  border-radius: var(--abc-radius-lg);
  border: 1px solid var(--abc-border-light);
  border-top: 3px solid var(--abc-red);
  box-shadow: var(--abc-shadow-card);
  padding: 20px 22px 18px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  box-sizing: border-box;
  transition: transform var(--abc-transition), box-shadow var(--abc-transition);
}

.abc-testimonial-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--abc-shadow-card-hover);
}

.abc-testimonial-quote-mark {
  position: absolute;
  top: 10px;
  right: 18px;
  font-family: Georgia, serif;
  font-size: 52px;
  line-height: 1;
  color: rgba(217, 4, 41, 0.1);
  pointer-events: none;
  user-select: none;
}

.abc-testimonial-body .elementor-testimonial__text {
  font-size: 13.8px;
  line-height: 1.52;
  color: #2C2D35;
  font-style: normal;
  margin-bottom: 14px;
}

.abc-testimonial-footer {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.abc-testimonial-avatar img {
  width: 46px !important;
  height: 46px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 2px solid var(--abc-red) !important;
  box-shadow: 0 3px 10px rgba(217, 4, 41, 0.18);
}

.abc-testimonial-cite {
  display: flex;
  flex-direction: column;
  font-style: normal;
  text-align: left;
}

.abc-testimonial-cite .elementor-testimonial__name {
  font-family: var(--abc-font-heading);
  font-weight: 700;
  font-size: 14.5px;
  color: var(--abc-black);
}

.abc-testimonial-cite .elementor-testimonial__title {
  font-size: 12px;
  color: var(--abc-red);
  font-weight: 600;
  margin-top: 1px;
}

/* Carousel Controls & Dots */
.abc-carousel-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 18px;
}

.abc-carousel-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: #FFFFFF;
  color: var(--abc-black);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s ease;
  box-shadow: var(--abc-shadow-sm);
}

.abc-carousel-btn:hover {
  background: var(--abc-red);
  border-color: var(--abc-red);
  color: #FFFFFF;
  transform: scale(1.06);
}

.abc-carousel-dots {
  display: flex;
  align-items: center;
  gap: 8px;
}

.abc-carousel-dot {
  width: 9px;
  height: 9px;
  border-radius: 50px;
  border: none;
  background: rgba(0, 0, 0, 0.2);
  padding: 0;
  cursor: pointer;
  transition: all 0.3s ease;
}

.abc-carousel-dot.is-active {
  width: 24px;
  background: var(--abc-red);
}

/* ==========================================================================
   7. Blog Posts Cards (.abc-posts-grid) — Compact Cards
   ========================================================================== */
.abc-posts-grid.abc-posts-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 340px));
  gap: 20px;
}

.abc-blog-card {
  background: #FFFFFF;
  border-radius: var(--abc-radius-lg);
  border: 1px solid var(--abc-border-light);
  box-shadow: var(--abc-shadow-card);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform var(--abc-transition), box-shadow var(--abc-transition);
}

.abc-blog-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--abc-shadow-card-hover);
}

.abc-blog-card-thumb {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  max-height: 175px;
  background: var(--abc-dark);
}

.abc-blog-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.abc-blog-card:hover .abc-blog-card-thumb img {
  transform: scale(1.05);
}

.abc-blog-card-body {
  padding: 16px 18px 18px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.abc-blog-card-meta {
  font-size: 11.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--abc-red);
  margin-bottom: 6px;
}

.abc-blog-card-title {
  margin: 0 0 8px;
  font-size: 17px;
  line-height: 1.32;
}

.abc-blog-card-title a {
  color: var(--abc-black);
  text-decoration: none;
  transition: color 0.2s ease;
}

.abc-blog-card-title a:hover {
  color: var(--abc-red);
}

.abc-blog-card-excerpt p {
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--abc-text-muted);
  margin: 0 0 12px;
}

.abc-blog-card-link {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  font-family: var(--abc-font-heading);
  font-size: 13px;
  font-weight: 700;
  color: var(--abc-red) !important;
  text-decoration: none !important;
  letter-spacing: 0.02em;
}

.abc-blog-card-link:hover {
  color: var(--abc-black) !important;
}

/* ==========================================================================
   8. Inner Pages (Modalidades, Cursos, Atendimentos, Videos, Contato)
   ========================================================================== */

/* Inner Page Hero Title Banner (.elementor-element-81cc302) — Compact height */
.elementor-element.elementor-element-81cc302 {
  background: linear-gradient(135deg, #09090D 0%, #17080D 55%, #2D0610 100%) !important;
  border-bottom: 3px solid var(--abc-red) !important;
  position: relative;
}

.elementor-element.elementor-element-81cc302 > .elementor-container {
  min-height: 110px !important;
}

.elementor-element.elementor-element-81cc302 .elementor-heading-title {
  font-size: clamp(24px, 3vw, 32px) !important;
  letter-spacing: -0.02em;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}

/* Inner Page Content Images */
.elementor-element.elementor-element-6cccdaa img,
.elementor-element.elementor-element-a579b12 img,
.elementor-element.elementor-element-2c668e3 img {
  border-radius: var(--abc-radius-md) !important;
  box-shadow: var(--abc-shadow-card);
}

/* Inner Page Sidebar "Solicitar Informações" Box (.elementor-element-d1ab749) — Compact */
.elementor-element.elementor-element-d1ab749 > .elementor-element-populated {
  background: #FFFFFF !important;
  border-radius: var(--abc-radius-lg) !important;
  box-shadow: var(--abc-shadow-card) !important;
  border: 1px solid var(--abc-border-light) !important;
  overflow: hidden;
  padding: 0 !important;
}

/* "Solicitar Informações" Top Header Strip (.elementor-element-65b547a) */
.elementor-element.elementor-element-65b547a > .elementor-widget-container {
  background: linear-gradient(135deg, var(--abc-black) 0%, #1F080D 100%) !important;
  color: #FFFFFF !important;
  padding: 16px 20px !important;
  margin: 0 !important;
  border-bottom: 3px solid var(--abc-red) !important;
}

.elementor-element.elementor-element-65b547a p {
  color: #FFFFFF !important;
  font-family: var(--abc-font-heading) !important;
  font-weight: 700 !important;
  font-size: 17.5px !important;
  margin: 0 !important;
  text-align: center;
}

/* ==========================================================================
   9. Modern Compact Forms (.abc-free-form)
   ========================================================================== */
.abc-standard-contact-form .elementor-form-fields-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.abc-standard-contact-form .elementor-field-group {
  width: 100%;
  box-sizing: border-box;
}

.abc-standard-contact-form .elementor-field-group.elementor-col-50 {
  width: calc(50% - 5px);
}

.abc-free-form input.elementor-field,
.abc-free-form textarea.elementor-field {
  width: 100%;
  box-sizing: border-box;
  font-family: var(--abc-font-body) !important;
  font-size: 13.8px !important;
  color: var(--abc-text-main) !important;
  background-color: #F7F8FA !important;
  border: 1.5px solid #E1E3EA !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  outline: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
  text-transform: none !important;
}

.abc-free-form input.elementor-field:focus,
.abc-free-form textarea.elementor-field:focus {
  background-color: #FFFFFF !important;
  border-color: var(--abc-red) !important;
  box-shadow: 0 0 0 3px rgba(217, 4, 41, 0.14) !important;
}

.abc-free-form .abc-form-submit-btn {
  width: 100%;
  background: linear-gradient(135deg, var(--abc-red-bright) 0%, var(--abc-red) 100%) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 11px 22px !important;
  font-family: var(--abc-font-heading) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  cursor: pointer;
  box-shadow: 0 6px 16px var(--abc-red-glow) !important;
  transition: transform var(--abc-transition), box-shadow var(--abc-transition) !important;
}

.abc-free-form .abc-form-submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(217, 4, 41, 0.38) !important;
}

/* Inline Footer Newsletter Form */
.abc-newsletter-inline-form .elementor-form-fields-wrapper {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  align-items: stretch;
}

.abc-newsletter-inline-form .elementor-field-group {
  flex: 1;
}

.abc-newsletter-inline-form .elementor-field-type-submit {
  flex: 0 0 auto;
  width: auto !important;
}

.abc-newsletter-inline-form .abc-form-submit-btn {
  height: 100%;
  padding: 10px 20px !important;
}

/* Form Response Status Banner */
.abc-form-response-message {
  margin-top: 10px;
  font-size: 13.5px;
  font-weight: 600;
  border-radius: 8px;
  display: none;
}

.abc-form-response-message.is-success {
  display: block;
  padding: 10px 14px;
  background: rgba(16, 185, 129, 0.12);
  color: #065F46;
  border: 1px solid rgba(16, 185, 129, 0.3);
}

.abc-form-response-message.is-error {
  display: block;
  padding: 10px 14px;
  background: rgba(217, 4, 41, 0.1);
  color: var(--abc-red-dark);
  border: 1px solid rgba(217, 4, 41, 0.25);
}

/* ==========================================================================
   10. Videos Page (#5451), Footer (#13) & Interactive Contact Lines
   ========================================================================== */
.elementor-widget-video .elementor-wrapper {
  border-radius: var(--abc-radius-md);
  overflow: hidden;
  box-shadow: var(--abc-shadow-card);
  border: 1px solid var(--abc-border-light);
}

/* Footer (#13) — Compact Height */
.elementor-13 .elementor-element.elementor-element-2ed2fdfb {
  border-top: 1px solid var(--abc-border-light);
  margin-top: 24px !important;
}

.elementor-13 .elementor-element.elementor-element-2ed2fdfb > .elementor-container {
  min-height: 250px !important;
}

.elementor-13 .elementor-element.elementor-element-1ed0d785 > .elementor-element-populated {
  border-radius: var(--abc-radius-lg);
}

.elementor-13 .elementor-element.elementor-element-19c68fa3 {
  background-color: var(--abc-black) !important;
  border-top: 2px solid var(--abc-red) !important;
}

/* Interactive Footer (#13) & Contato (#5347) Contact Lines (Address, Email, Phone) */
.elementor-13 .elementor-element.elementor-element-1d034fa .elementor-icon-list-items .elementor-icon-list-item,
.elementor-5347 .elementor-element.elementor-element-54af964f .elementor-icon-list-items .elementor-icon-list-item {
  margin-bottom: 2px !important;
}

.elementor-13 .elementor-element.elementor-element-1d034fa .elementor-icon-list-item > a,
.elementor-5347 .elementor-element.elementor-element-54af964f .elementor-icon-list-item > a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 6px 12px !important;
  margin-left: -12px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background-color 0.25s ease, transform 0.25s ease, color 0.25s ease !important;
}

.elementor-13 .elementor-element.elementor-element-1d034fa .elementor-icon-list-item > a:hover,
.elementor-13 .elementor-element.elementor-element-1d034fa .elementor-icon-list-item > a:focus-visible {
  background-color: rgba(217, 4, 41, 0.08) !important;
  transform: translateX(5px);
}

.elementor-13 .elementor-element.elementor-element-1d034fa .elementor-icon-list-item > a:hover .elementor-icon-list-text,
.elementor-13 .elementor-element.elementor-element-1d034fa .elementor-icon-list-item > a:focus-visible .elementor-icon-list-text {
  color: var(--abc-red) !important;
  font-weight: 500 !important;
}

.elementor-13 .elementor-element.elementor-element-1d034fa .elementor-icon-list-item .elementor-icon-list-icon i {
  color: var(--abc-red) !important;
  font-size: 15px !important;
  transition: transform 0.25s ease, color 0.25s ease !important;
}

.elementor-13 .elementor-element.elementor-element-1d034fa .elementor-icon-list-item > a:hover .elementor-icon-list-icon i {
  transform: scale(1.18);
}

/* Highlight WhatsApp icon in green on hover */
.elementor-13 .elementor-element.elementor-element-1d034fa .elementor-icon-list-item > a:hover .fa-whatsapp,
.elementor-5347 .elementor-element.elementor-element-54af964f .elementor-icon-list-item > a:hover .fa-whatsapp,
.elementor-9 .elementor-element.elementor-element-56892dba .elementor-icon-list-item > a:hover .fa-whatsapp {
  color: #25D366 !important;
}

.elementor-5347 .elementor-element.elementor-element-54af964f .elementor-icon-list-item > a:hover,
.elementor-5347 .elementor-element.elementor-element-54af964f .elementor-icon-list-item > a:focus-visible {
  background-color: rgba(255, 255, 255, 0.1) !important;
  transform: translateX(5px);
}
