/**
 * Team Branch - Additional CSS
 *
 * Custom styles for new sections and components.
 * This file contains only NEW styles not present in main.css
 *
 * @package Microprocessador
 * @since 1.0.0
 */

/* ==========================================================================
   Table of Contents
   ========================================================================== */
/*
 * 1. Services Section - Industry 4.0 Solutions
 */

/* ==========================================================================
   1. Services Section - Industry 4.0 Solutions (Divi 5 Compatible)
   ========================================================================== */

/* ============================================
      Section Base - Override Divi defaults
      ============================================ */

.nuvem-services-section.et_pb_section {
    padding: 6rem 0 !important;
    background-color: #ffffff !important;
}

.nuvem-services-container.et_pb_row {
    max-width: 96rem !important;
    margin: 0 auto !important;
    padding: 0 1rem !important;
}

@media (min-width: 640px) {
    .nuvem-services-container.et_pb_row {
        padding: 0 1.5rem !important;
    }
}

@media (min-width: 1024px) {
    .nuvem-services-container.et_pb_row {
        padding: 0 2rem !important;
    }
}

/* ============================================
      Section Header
      ============================================ */

.nuvem-services-header.et_pb_row,
.nuvem-services-header.et_pb_row_nested {
    text-align: center !important;
    margin-bottom: 4rem !important;
}

/* ============================================
      Badge Component - Reusable Preset
      ============================================ */

/* Base Badge Styles - Shared by all badge variants */
.nuvem-badge-orange-light.et_pb_text,
.nuvem-badge-orange-dark.et_pb_text,
.nuvem-badge-gray-light.et_pb_text,
.nuvem-badge-white.et_pb_text {
    text-align: center !important;
    margin-bottom: 1rem !important;
}

.nuvem-badge-orange-light.et_pb_text .et_pb_text_inner,
.nuvem-badge-orange-dark.et_pb_text .et_pb_text_inner,
.nuvem-badge-gray-light.et_pb_text .et_pb_text_inner,
.nuvem-badge-white.et_pb_text .et_pb_text_inner {
    text-align: center !important;
}

.nuvem-badge-orange-light.et_pb_text .et_pb_text_inner p,
.nuvem-badge-orange-dark.et_pb_text .et_pb_text_inner p,
.nuvem-badge-gray-light.et_pb_text .et_pb_text_inner p,
.nuvem-badge-white.et_pb_text .et_pb_text_inner p {
    margin: 0 !important;
    display: inline-block !important;
    padding: 0.5rem 1rem !important;
    border-radius: 9999px !important;
    font-size: 0.875rem !important;
}

/* Orange Light Badge - Light background, dark text */
.nuvem-badge-orange-light.et_pb_text .et_pb_text_inner p {
    background-color: #FFF4ED !important;
    color: #C75D1A !important;
    border: 1px solid transparent !important;
}

/* Orange Dark Badge - Dark background, light text */
.nuvem-badge-orange-dark.et_pb_text .et_pb_text_inner p {
    background-color: #C75D1A !important;
    color: #ffffff !important;
    border: 1px solid transparent !important;
}

/* Gray Light Badge - Light gray background */
.nuvem-badge-gray-light.et_pb_text .et_pb_text_inner p {
    background-color: #f3f4f6 !important;
    color: #374151 !important;
    border: 1px solid transparent !important;
}

/* White Badge with Border */
.nuvem-badge-white.et_pb_text .et_pb_text_inner p {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid #e5e7eb !important;
}

/* Legacy class support - Keep for backward compatibility */
.nuvem-services-badge.et_pb_text {
    text-align: center !important;
    margin-bottom: 1rem !important;
}

.nuvem-services-badge.et_pb_text .et_pb_text_inner {
    text-align: center !important;
}

.nuvem-services-badge.et_pb_text .et_pb_text_inner p {
    margin: 0 !important;
    display: inline-block !important;
    padding: 0.5rem 1rem !important;
    border-radius: 9999px !important;
    background-color: #FFF4ED !important;
}

.nuvem-services-badge-text {
    color: #C75D1A !important;
    font-size: 0.875rem !important;
}

/* Title */
.nuvem-services-title.et_pb_text h2,
.nuvem-services-title.et_pb_text .et_pb_text_inner h2 {
    font-size: 2.25rem !important;
    color: #0f172a !important;
    margin-bottom: 1rem !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

@media (min-width: 768px) {
    .nuvem-services-title.et_pb_text h2,
    .nuvem-services-title.et_pb_text .et_pb_text_inner h2 {
        font-size: 3rem !important;
    }
}

/* Description */
.nuvem-services-description.et_pb_text {
    font-size: 1.25rem !important;
    color: #64748b !important;
    line-height: 1.75 !important;
    text-align: center !important;
}

.nuvem-services-description.et_pb_text .et_pb_text_inner {
    max-width: 48rem !important;
    margin: 0 auto !important;
}

.nuvem-services-description.et_pb_text .et_pb_text_inner p {
    max-width: 48rem !important;
    margin: 0 auto !important;
}

/* ============================================
      Services Grid
      ============================================ */

.nuvem-services-grid.et_pb_row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 3rem !important;
    width: 100% !important;
}

/* Remove Divi default column padding */
.nuvem-services-grid.et_pb_row .et_pb_column {
    padding: 0 !important;
}

@media (min-width: 768px) {
    .nuvem-services-grid.et_pb_row {
        grid-template-columns: repeat(2, 1fr) !important;
        grid-template-rows: repeat(2, 1fr) !important;
    }
}

/* Left Column - NOW without card styling (cards are inside) */
.nuvem-services-column-left.et_pb_column.et_flex_column {
    display: flex !important;
    flex-direction: column !important;
    gap: 3rem !important;
    position: relative !important;
    width: 100% !important;
    padding: 0 !important; /* Remove padding from column */
    border: none !important; /* Remove border from column */
    background-color: transparent !important; /* Remove background from column */
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
}

@media (min-width: 768px) {
    .nuvem-services-column-left.et_pb_column.et_flex_column {
        grid-row: span 2 !important;
    }
}

/* Individual Card Wrapper - Apply this class to a Group or Row inside the column */
.nuvem-individual-card.et_pb_group,
.nuvem-individual-card.et_pb_row {
    position: relative !important;
    width: 100% !important;
    padding: 2rem !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 0.75rem !important;
    background-color: #f9fafb !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    display: block !important; /* Override flex to allow inline-block children */
}

@media (min-width: 768px) {
    .nuvem-individual-card.et_pb_group,
    .nuvem-individual-card.et_pb_row {
        padding: 2.5rem !important;
    }
}

.nuvem-individual-card.et_pb_group:hover,
.nuvem-individual-card.et_pb_row:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
}

/* Force all modules inside card to display block by default, except icon and title */
.nuvem-individual-card.et_pb_group > .et_pb_module {
    display: block !important;
}

/* Icon - Force inline-block with vertical-align middle */
.nuvem-individual-card.et_pb_group > .nuvem-service-icon.et_pb_text {
    display: inline-block !important;
    vertical-align: middle !important;
}

/* Title (module right after icon) - Force inline-block with vertical-align middle */
.nuvem-individual-card.et_pb_group > .nuvem-service-icon.et_pb_text + .et_pb_text {
    display: inline-block !important;
    vertical-align: middle !important;
    max-width: calc(100% - 5rem) !important;
}

/* ============================================
      Featured Card (Card 3) - Special Layout
      ============================================ */

/* Logo positioned at top right - works with Code or Image module */
.nuvem-card-logo.et_pb_code,
.nuvem-card-logo.et_pb_image {
    position: absolute !important;
    top: 2rem !important;
    right: 2rem !important;
    max-width: 110px !important; /* Reduced from 130px */
    margin: 0 !important;
    z-index: 20 !important;
    background-color: #ffffff !important;
    padding: 0.75rem !important; /* Reduced from 1rem */
    border-radius: 0.75rem !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) !important;
}

.nuvem-card-logo.et_pb_code .et_pb_code_inner,
.nuvem-card-logo.et_pb_code .nuvem-logo-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.nuvem-card-logo.et_pb_code svg,
.nuvem-card-logo.et_pb_image img {
    width: 100% !important;
    height: auto !important;
}

@media (min-width: 768px) {
    .nuvem-card-logo.et_pb_code,
    .nuvem-card-logo.et_pb_image {
        top: 2.5rem !important;
        right: 2.5rem !important;
        max-width: 130px !important;
        padding: 1rem !important;
    }
}

/* Featured card image (monitor screenshot) */
.nuvem-card-image.et_pb_image {
    margin: 2rem 0 2rem 0 !important; /* margin-bottom para separar das tags */
    width: 100% !important;
}

.nuvem-card-image.et_pb_image img {
    width: 100% !important;
    height: auto !important;
    border-radius: 0.5rem !important;
    margin-bottom: 0 !important;
}

/* Featured card - adjust title to make space for logo */
.nuvem-card-featured .nuvem-service-icon.et_pb_text + .et_pb_text {
    max-width: calc(100% - 180px) !important;
}

@media (min-width: 768px) {
    .nuvem-card-featured .nuvem-service-icon.et_pb_text + .et_pb_text {
        max-width: calc(100% - 200px) !important;
    }
}

/* Right Column - 1 large card */
.nuvem-services-column-right.et_pb_column.et_flex_column {
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    width: 100% !important;
    padding: 0 !important; /* No padding - Groups have it */
    border: none !important; /* No border - Groups have it */
    background-color: transparent !important; /* No background - Groups have it */
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
}

@media (min-width: 768px) {
    .nuvem-services-column-right.et_pb_column.et_flex_column {
        grid-row: span 2 !important;
    }
}

/* Override Divi flex on all child modules inside service columns */
.nuvem-services-column-left.et_pb_column > .et_pb_module,
.nuvem-services-column-right.et_pb_column > .et_pb_module {
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
}

.nuvem-services-column-left.et_pb_column > .et_flex_module,
.nuvem-services-column-right.et_pb_column > .et_flex_module {
    display: block !important;
}

/* ============================================
      Service Card Base - Divi Blurb Override
      ============================================ */

.nuvem-service-card.et_pb_blurb {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    padding: 2rem !important; /* Increased from 1.5rem to 2rem */
    border: 1px solid #e5e7eb !important;
    border-radius: 0.75rem !important;
    background-color: #f9fafb !important; /* gray-50 from Tailwind */
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
}

@media (min-width: 768px) {
    .nuvem-service-card.et_pb_blurb {
        padding: 2.5rem !important; /* Even more padding on desktop */
    }
}

.nuvem-service-card.et_pb_blurb:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
}

/* Remove default Divi blurb styles and force horizontal layout */
/* Target both top and left positioned blurbs */
.nuvem-service-card.et_pb_blurb.et_pb_blurb_position_left .et_pb_blurb_content,
.nuvem-service-card.et_pb_blurb.et_pb_blurb_position_top .et_pb_blurb_content {
    padding: 0 !important;
    display: block !important; /* Changed from flex to block for proper wrapping */
}

/* Icon stays on the left - float it */
.nuvem-service-card.et_pb_blurb.et_pb_blurb_position_left .et_pb_main_blurb_image,
.nuvem-service-card.et_pb_blurb.et_pb_blurb_position_top .et_pb_main_blurb_image {
    float: left !important;
    margin-right: 1rem !important;
    margin-bottom: 1rem !important;
}

/* Container with title - inline with icon */
.nuvem-service-card.et_pb_blurb.et_pb_blurb_position_left .et_pb_blurb_container,
.nuvem-service-card.et_pb_blurb.et_pb_blurb_position_top .et_pb_blurb_container {
    display: block !important;
    overflow: hidden !important; /* Create new block formatting context */
}

.nuvem-service-card.et_pb_blurb.et_pb_blurb_position_left .et_pb_module_header,
.nuvem-service-card.et_pb_blurb.et_pb_blurb_position_top .et_pb_module_header {
    margin: 0 0 1rem 0 !important;
}

/* Description clears float and goes full width */
.nuvem-service-card.et_pb_blurb.et_pb_blurb_position_left .et_pb_blurb_description,
.nuvem-service-card.et_pb_blurb.et_pb_blurb_position_top .et_pb_blurb_description {
    clear: both !important;
    width: 100% !important;
    margin: 0 !important;
}

/* ============================================
      SVG Border Animation
      ============================================ */

/* Wrapper for SVG - needs to be positioned relative to the column */
.nuvem-service-card-border-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
}

/* Make Code Module containing SVG absolutely positioned */
/* Now works inside Groups instead of Column */
.nuvem-individual-card .et_pb_code:first-child,
.nuvem-individual-card.et_pb_group > .et_pb_code:first-child {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    pointer-events: none !important;
    z-index: 10 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.nuvem-individual-card .et_pb_code:first-child .et_pb_code_inner,
.nuvem-individual-card.et_pb_group > .et_pb_code:first-child .et_pb_code_inner {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

.nuvem-service-card-border-rect {
    fill: none;
    stroke: #EF7B25;
    stroke-width: 2;
    stroke-dasharray: 5000;
    stroke-dashoffset: 5000;
    transition: stroke-dashoffset 2s ease-out;
}

.nuvem-individual-card:hover .nuvem-service-card-border-rect,
.nuvem-individual-card.et_pb_group:hover .nuvem-service-card-border-rect {
    stroke-dashoffset: 0;
}

/* ============================================
      Service Card Alternative - Without Blurb
      Using Code + Text Modules
      ============================================ */

/* Card wrapper - apply to Column */
.nuvem-services-column-left.et_pb_column > *:not(.et_pb_code:first-child),
.nuvem-services-column-right.et_pb_column > *:not(.et_pb_code:first-child) {
    position: relative !important;
    z-index: 20 !important;
}

/* Alternative: Wrap modules in a div with this class */
.nuvem-service-card-wrapper {
    position: relative !important;
    width: 100% !important;
    padding: 2rem !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 0.75rem !important;
    background-color: #f9fafb !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
}

@media (min-width: 768px) {
    .nuvem-service-card-wrapper {
        padding: 2.5rem !important;
    }
}

.nuvem-service-card-wrapper:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
}

/* ============================================
      Card Components - Modular System
      ============================================ */

/* Icon Module - Text Module with empty content, shows icon via CSS */
.nuvem-services-column-left .nuvem-service-icon.et_pb_text.et_flex_module,
.nuvem-services-column-right .nuvem-service-icon.et_pb_text.et_flex_module {
    width: 3.5rem !important;
    height: 3.5rem !important;
    min-width: 3.5rem !important;
    max-width: 3.5rem !important;
    border-radius: 0.75rem !important;
    background: linear-gradient(to bottom right, #FFF4ED, #FFCBA3) !important;
    display: inline-block !important;
    padding: 0 !important;
    transition: transform 0.3s ease !important;
    position: relative !important;
    overflow: hidden !important;
    vertical-align: middle !important;
    margin-right: 1rem !important;
    margin-bottom: 1.5rem !important;
    flex: none !important;
}

/* Add gap between multiple cards in same column */
.nuvem-services-column-left .nuvem-service-icon.et_pb_text.et_flex_module:nth-child(n+7) {
    margin-top: 3rem !important;
}

/* Hide any text content in icon module */
.nuvem-service-icon.et_pb_text .et_pb_text_inner,
.nuvem-service-icon.et_pb_text .et_pb_text_inner p {
    font-size: 0 !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 0 !important;
    height: 0 !important;
    opacity: 0 !important;
    position: absolute !important;
}

/* Icon displayed via ::before pseudo-element */
.nuvem-service-icon.et_pb_text::before {
    content: '' !important;
    display: block !important;
    width: 1.75rem !important;
    height: 1.75rem !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    filter: brightness(0) saturate(100%) invert(35%) sepia(76%) saturate(1043%) hue-rotate(348deg) brightness(91%) contrast(86%) !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

/* Hover effect */
.nuvem-services-column-left:hover .nuvem-service-icon.et_pb_text,
.nuvem-services-column-right:hover .nuvem-service-icon.et_pb_text {
    transform: scale(1.1) !important;
}

/* ============================================
      Icon Library - Background Images
      ============================================ */

/* CPU Icon */
.nuvem-icon-cpu.et_pb_text::before {
    background-image: url('/wp-content/mu-plugins/assets/images/cpu-icon.svg') !important;
}

/* Building Icon */
.nuvem-icon-building.et_pb_text::before {
    background-image: url('/wp-content/mu-plugins/assets/images/building-icon.svg') !important;
}

/* Dashboard Icon */
.nuvem-icon-dashboard.et_pb_text::before {
    background-image: url('/wp-content/mu-plugins/assets/images/dashboard-icon.svg') !important;
}

/* Settings Icon */
.nuvem-icon-settings.et_pb_text::before {
    background-image: url('/wp-content/mu-plugins/assets/images/settings-icon.svg') !important;
}

/* Shield Icon */
.nuvem-icon-shield.et_pb_text::before {
    background-image: url('/wp-content/mu-plugins/assets/images/shield-icon.svg') !important;
}

/* Chart Icon */
.nuvem-icon-chart.et_pb_text::before {
    background-image: url('/wp-content/mu-plugins/assets/images/chart-icon.svg') !important;
}

/* Cloud Icon */
.nuvem-icon-cloud.et_pb_text::before {
    background-image: url('/wp-content/mu-plugins/assets/images/cloud-icon.svg') !important;
}

/* Database Icon */
.nuvem-icon-database.et_pb_text::before {
    background-image: url('/wp-content/mu-plugins/assets/images/database-icon.svg') !important;
}

/* ============================================
      Card Description
      ============================================ */

/* Title - regular Text Module with H3 inside column */
/* Using inline-block to vertically center with icon */
.nuvem-services-column-left.et_pb_column > .et_pb_text.et_flex_module:not(.nuvem-service-icon):not(.nuvem-service-card-description):not(.nuvem-service-tags),
.nuvem-services-column-right.et_pb_column > .et_pb_text.et_flex_module:not(.nuvem-service-icon):not(.nuvem-service-card-description):not(.nuvem-service-tags) {
    display: inline-block !important;
    vertical-align: middle !important;
    max-width: calc(100% - 5rem) !important;
    margin-bottom: 1.5rem !important;
    flex: none !important;
}

/* Title text elements - force smaller size with maximum specificity */
.nuvem-services-column-left.et_pb_column > .et_pb_text h3,
.nuvem-services-column-left.et_pb_column > .et_pb_text h4,
.nuvem-services-column-right.et_pb_column > .et_pb_text h3,
.nuvem-services-column-right.et_pb_column > .et_pb_text h4,
.nuvem-individual-card h3,
.nuvem-individual-card h4 {
    font-size: 1.375rem !important; /* 22px */
    line-height: 1.75rem !important; /* 28px */
    color: #0f172a !important;
    margin: 0 !important;
}

/* Override Divi's default H3 styles */
.nuvem-individual-card.et_pb_group h3,
.nuvem-individual-card.et_pb_group h4 {
    font-size: 1.375rem !important;
}

/* Title wrapper - FIX vertical alignment with MAXIMUM specificity */
.nuvem-individual-card.et_pb_group > .nuvem-service-icon.et_pb_text + .et_pb_text {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    height: 3.5rem !important;
    max-width: calc(100% - 5rem) !important;
    margin-bottom: 1.5rem !important;
}

.nuvem-individual-card.et_pb_group > .nuvem-service-icon.et_pb_text + .et_pb_text .et_pb_text_inner {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.nuvem-individual-card.et_pb_group > .nuvem-service-icon.et_pb_text + .et_pb_text .et_pb_text_inner h3,
.nuvem-individual-card.et_pb_group > .nuvem-service-icon.et_pb_text + .et_pb_text .et_pb_text_inner h4 {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.75rem !important;
}

/* Description Text Module - clears float from icon */
.nuvem-service-card-description.et_pb_text.et_flex_module {
    clear: both !important;
    display: block !important;
    color: #64748b !important;
    font-size: 1rem !important;
    line-height: 1.625 !important;
    margin-top: 0 !important;
    margin-bottom: 1.5rem !important;
    flex: none !important;
}

.nuvem-service-card-description.et_pb_text .et_pb_text_inner p {
    color: #64748b !important;
    margin: 0 !important;
}

/* Tags module - add top margin for gap */
.nuvem-service-tags.et_pb_text.et_flex_module {
    margin-top: 0 !important;
    margin-bottom: 1.5rem !important;
    clear: both !important;
}

/* Button wrapper - add top margin for gap */
.nuvem-services-column-left .et_pb_button_module_wrapper,
.nuvem-services-column-right .et_pb_button_module_wrapper {
    margin-top: 0 !important;
    clear: both !important;
}

/* Override Divi icon styles - Base styling for custom icons via CSS */
.nuvem-service-card.et_pb_blurb .et_pb_blurb_content .et-pb-icon {
    font-size: 0 !important; /* Hide any default icon text */
    color: transparent !important;
    width: 3.5rem !important;
    height: 3.5rem !important;
    border-radius: 0.75rem !important;
    background: linear-gradient(to bottom right, #FFF4ED, #FFCBA3) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: transform 0.3s ease !important;
    margin: 0 1rem 0 0 !important; /* Right margin for inline with title */
    position: relative !important;
}

.nuvem-service-card.et_pb_blurb:hover .et-pb-icon {
    transform: scale(1.1) !important;
}

/* Icon will be added via ::before pseudo-element */
.nuvem-service-card.et_pb_blurb .et_pb_blurb_content .et-pb-icon::before {
    content: '';
    display: block;
    width: 1.75rem;
    height: 1.75rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    /* Color filter to convert SVG to #C75D1A */
    filter: brightness(0) saturate(100%) invert(35%) sepia(76%) saturate(1043%) hue-rotate(348deg) brightness(91%) contrast(86%);
}

/* ============================================
      Icon Library - Add SVG backgrounds via class
      ============================================ */

/* Base path: /wp-content/mu-plugins/assets/images/ */

/* CPU Icon - Automation & Control */
.nuvem-icon-cpu .et-pb-icon::before {
    background-image: url('/wp-content/mu-plugins/assets/images/cpu-icon.svg');
}

/* Building Icon - Building Automation */
.nuvem-icon-building .et-pb-icon::before {
    background-image: url('/wp-content/mu-plugins/assets/images/building-icon.svg');
}

/* Dashboard Icon - Integrated Solutions */
.nuvem-icon-dashboard .et-pb-icon::before {
    background-image: url('/wp-content/mu-plugins/assets/images/dashboard-icon.svg');
}

/* Add more icons as needed following the same pattern */
.nuvem-icon-settings .et-pb-icon::before {
    background-image: url('/wp-content/mu-plugins/assets/images/settings-icon.svg');
}

.nuvem-icon-shield .et-pb-icon::before {
    background-image: url('/wp-content/mu-plugins/assets/images/shield-icon.svg');
}

.nuvem-icon-chart .et-pb-icon::before {
    background-image: url('/wp-content/mu-plugins/assets/images/chart-icon.svg');
}

.nuvem-icon-cloud .et-pb-icon::before {
    background-image: url('/wp-content/mu-plugins/assets/images/cloud-icon.svg');
}

.nuvem-icon-database .et-pb-icon::before {
    background-image: url('/wp-content/mu-plugins/assets/images/database-icon.svg');
}

/* Support for Image as Icon in Blurb (fallback - keep for compatibility) */
.nuvem-service-card.et_pb_blurb .et_pb_main_blurb_image {
    margin: 0 0 1rem 0 !important;
    width: 3.5rem !important;
    max-width: 3.5rem !important;
}

/* Card Title - Inline with icon */
.nuvem-service-card.et_pb_blurb .et_pb_module_header,
.nuvem-service-card.et_pb_blurb .et_pb_module_header h4,
.nuvem-service-card-title {
    font-size: 1.5rem !important;
    color: #0f172a !important;
    line-height: 1.3 !important;
    margin: 0 !important;
}

/* ============================================
      Card Content
      ============================================ */

.nuvem-service-card.et_pb_blurb .et_pb_blurb_description,
.nuvem-service-card-description {
    color: #64748b !important;
    font-size: 1rem !important;
    line-height: 1.625 !important;
    margin-bottom: 1rem !important;
    flex: 1 !important;
}

/* ============================================
      Tags - Text Module with UL/LI
      ============================================ */

.nuvem-service-tags.et_pb_text {
    margin-bottom: 1rem !important;
}

.nuvem-service-tags.et_pb_text .et_pb_text_inner ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.nuvem-service-tags.et_pb_text .et_pb_text_inner ul li {
    padding: 0.5rem 1rem !important;
    border-radius: 9999px !important;
    background-color: #ffffff !important;
    color: #0f172a !important;
    font-size: 0.875rem !important;
    border: 1px solid #e5e7eb !important;
    white-space: nowrap !important;
    list-style: none !important;
    margin: 0 !important;
}

/* Featured tag variant - add class to <li> */
.nuvem-service-tags.et_pb_text .et_pb_text_inner ul li.nuvem-tag-featured {
    background-color: rgba(239, 123, 37, 0.1) !important;
    border-color: #EF7B25 !important;
    color: #EF7B25 !important;
}

/* ============================================
      Buttons - Reusable Presets (Tailwind Values)
      ============================================ */

/* Base Button Styles - Shared by all button variants */
.nuvem-button-outline-orange.et_pb_button,
.nuvem-button-solid-orange.et_pb_button,
.nuvem-button-gradient-orange.et_pb_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important; /* 8px */
    padding: 0.625rem 1.5rem !important; /* py-2.5 px-6 = 10px 24px */
    border-radius: 0.5rem !important; /* rounded-lg = 8px */
    font-size: 0.875rem !important; /* text-sm = 14px */
    line-height: 1.25rem !important; /* leading-5 = 20px */
    text-decoration: none !important;
    transition-property: all !important;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
    transition-duration: 300ms !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    font-family: inherit !important;
}

/* Remove Divi button default styles */
.nuvem-button-outline-orange.et_pb_button::after,
.nuvem-button-solid-orange.et_pb_button::after,
.nuvem-button-gradient-orange.et_pb_button::after {
    display: none !important;
}

/* Outline Orange Button - Transparent with border */
.nuvem-button-outline-orange.et_pb_button {
    border: 2px solid #EF7B25 !important; /* border-2 border-[#EF7B25] */
    color: #C75D1A !important; /* text-[#C75D1A] */
    background-color: transparent !important; /* bg-transparent */
}

.nuvem-button-outline-orange.et_pb_button:hover {
    background-color: #FFF4ED !important; /* hover:bg-[#FFF4ED] */
    color: #C75D1A !important;
    border-color: #EF7B25 !important;
}

/* Solid Orange Button - Flat color */
.nuvem-button-solid-orange.et_pb_button {
    background-color: #EF7B25 !important; /* bg-[#EF7B25] */
    color: #ffffff !important; /* text-white */
    border: none !important;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important; /* shadow-sm */
}

.nuvem-button-solid-orange.et_pb_button:hover {
    background-color: #D66A1F !important; /* hover:bg-[#D66A1F] - darken ~10% */
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1) !important; /* hover:shadow-md */
    color: #ffffff !important;
}

/* Gradient Orange Button - With gradient background */
.nuvem-button-gradient-orange.et_pb_button {
    background: linear-gradient(to right, #C75D1A, #EF7B25) !important; /* bg-gradient-to-r from-[#C75D1A] to-[#EF7B25] */
    color: #ffffff !important; /* text-white */
    border: none !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1) !important; /* shadow-md */
}

.nuvem-button-gradient-orange.et_pb_button:hover {
    background: linear-gradient(to right, #B24A0E, #D66A1F) !important; /* Darken ~15% */
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) !important; /* hover:shadow-lg */
    transform: translateY(-1px) !important; /* hover:-translate-y-0.5 */
    color: #ffffff !important;
}

/* Legacy class support - Keep for backward compatibility */
.nuvem-service-button.et_pb_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    padding: 0.5rem 1.5rem !important;
    border-radius: 0.5rem !important;
    font-size: 0.875rem !important;
    text-decoration: none !important;
    align-self: flex-start !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    border: none !important;
}

.nuvem-service-button-outline.et_pb_button {
    border: 2px solid #EF7B25 !important;
    color: #C75D1A !important;
    background-color: transparent !important;
}

.nuvem-service-button-outline.et_pb_button:hover {
    background-color: #FFF4ED !important;
    color: #C75D1A !important;
}

.nuvem-service-button-gradient.et_pb_button {
    background: linear-gradient(to right, #C75D1A, #EF7B25) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1) !important;
}

.nuvem-service-button-gradient.et_pb_button:hover {
    background: linear-gradient(to right, #B24A0E, #D66A1F) !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) !important;
    color: #ffffff !important;
}

.nuvem-service-button.et_pb_button::after {
    display: none !important;
}

/* ============================================
      Featured Card - AllSynergy Logo
      ============================================ */

.nuvem-service-featured-logo.et_pb_code {
    position: relative;
    padding: 1rem !important;
    border-radius: 0.75rem !important;
    background-color: #ffffff !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 1rem !important;
}

@media (min-width: 768px) {
    .nuvem-service-featured-logo.et_pb_code {
        position: absolute !important;
        top: 1.5rem !important;
        right: 1.5rem !important;
        margin-bottom: 0 !important;
        z-index: 20 !important;
    }
}

.nuvem-service-featured-logo svg {
    width: auto;
    height: 1.875rem;
}

/* ============================================
      Featured Card - Image
      ============================================ */

.nuvem-service-featured-image.et_pb_image {
    margin-bottom: 1rem !important;
}

.nuvem-service-featured-image.et_pb_image img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    max-height: 300px !important;
    display: block !important;
}

/* ============================================
      Responsive Adjustments
      ============================================ */

/* Tablet adjustments */
@media (min-width: 768px) and (max-width: 1023px) {
    .nuvem-service-card.et_pb_blurb {
        padding: 2rem !important;
    }
    
    .nuvem-services-grid.et_pb_row {
        gap: 2rem !important;
    }
    
    .nuvem-services-column-left.et_pb_column {
        gap: 2rem !important;
    }
}

/* Mobile adjustments */
@media (max-width: 767px) {
    .nuvem-services-section.et_pb_section {
        padding: 4rem 0 !important;
    }
    
    .nuvem-services-header.et_pb_row {
        margin-bottom: 3rem !important;
    }
    
    .nuvem-services-title.et_pb_text h2 {
        font-size: 2rem !important;
    }
    
    .nuvem-services-description.et_pb_text {
        font-size: 1.125rem !important;
    }
    
    .nuvem-service-card.et_pb_blurb {
        padding: 1.25rem !important;
    }
    
    .nuvem-service-card-title {
        font-size: 1.25rem !important;
    }
    
    .nuvem-services-grid.et_pb_row {
        gap: 2rem !important;
    }
    
    .nuvem-services-column-left.et_pb_column {
        gap: 2rem !important;
    }
}

/* ==========================================================================
   2. Industries/Markets Section - Vertical Marquee (JS-powered)
   ========================================================================== */

/* ============================================
      Section Base
      ============================================ */

.nuvem-markets-section.et_pb_section {
    padding: 6rem 0 !important;
    background-color: #f9fafb !important;
}

.nuvem-markets-container.et_pb_row {
    max-width: 96rem !important;
    margin: 0 auto !important;
    padding: 0 1rem !important;
}

@media (min-width: 640px) {
    .nuvem-markets-container.et_pb_row {
        padding: 0 1.5rem !important;
    }
}

@media (min-width: 1024px) {
    .nuvem-markets-container.et_pb_row {
        padding: 0 2rem !important;
    }
}

/* ============================================
      Grid Layout (Nested Row)
      ============================================ */

.nuvem-markets-grid.et_pb_row.et_pb_row_nested {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 3rem !important;
    align-items: center !important; /* ← CENTRAR VERTICALMENTE */
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

@media (min-width: 1024px) {
    .nuvem-markets-grid.et_pb_row.et_pb_row_nested {
        grid-template-columns: 5fr 7fr !important;
    }
}

/* Force columns to 100% width with maximum specificity */
.nuvem-markets-grid.et_pb_row .et_pb_column.nuvem-markets-column-left,
.nuvem-markets-grid.et_pb_row .et_pb_column.nuvem-markets-column-right {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

.nuvem-markets-grid.et_pb_row .et_pb_column .et_pb_column_inner {
    padding: 0 !important;
    margin: 0 !important;
}

/* ============================================
      Left Column - Static Content (CENTRADO VERTICALMENTE)
      ============================================ */

.nuvem-markets-column-left.et_pb_column.et_flex_column {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important; /* ← CENTRAR VERTICALMENTE */
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Badge - força alinhamento à esquerda com especificidade máxima */
.nuvem-markets-column-left .nuvem-badge-orange-light.et_pb_text.et_pb_module {
    text-align: left !important;
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.nuvem-markets-column-left .nuvem-badge-orange-light.et_pb_text .et_pb_text_inner {
    text-align: left !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.nuvem-markets-column-left .nuvem-badge-orange-light.et_pb_text .et_pb_text_inner p {
    text-align: left !important;
    margin: 0 !important;
    justify-content: flex-start !important;
}

/* Title */
.nuvem-markets-column-left .nuvem-markets-title.et_pb_text.et_pb_module {
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
    width: 100% !important;
    text-align: left !important;
}

.nuvem-markets-title.et_pb_text .et_pb_text_inner {
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
}

.nuvem-markets-title.et_pb_text h2,
.nuvem-markets-title.et_pb_text .et_pb_text_inner h2 {
    font-size: 2.25rem !important;
    color: #0f172a !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.11 !important;
    text-align: left !important;
}

@media (min-width: 768px) {
    .nuvem-markets-title.et_pb_text h2,
    .nuvem-markets-title.et_pb_text .et_pb_text_inner h2 {
        font-size: 3rem !important;
        line-height: 1 !important;
    }
}

/* Description */
.nuvem-markets-column-left .nuvem-markets-description.et_pb_text.et_pb_module {
    font-size: 1.25rem !important;
    color: #64748b !important;
    line-height: 1.625 !important;
    margin: 0 0 2rem 0 !important;
    padding: 0 !important;
    width: 100% !important;
    text-align: left !important;
}

.nuvem-markets-description.et_pb_text .et_pb_text_inner {
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
}

.nuvem-markets-description.et_pb_text .et_pb_text_inner p {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    color: #64748b !important;
    font-size: 1.25rem !important;
    line-height: 1.625 !important;
}

/* Button wrapper */
.nuvem-markets-column-left .et_pb_button_module_wrapper {
    width: 100% !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ============================================
      Right Column - Marquee Container
      ============================================ */

.nuvem-markets-column-right.et_pb_column.et_flex_column {
    position: relative !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Marquee outer container (created by JS) */
.nuvem-markets-marquee {
    position: relative !important;
    height: 580px !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 auto !important; /* ← CENTRAR */
    width: 85% !important;
    max-width: 100% !important;
}

@media (max-width: 1023px) {
    .nuvem-markets-marquee {
        width: 90% !important; /* Mais largo em tablets */
    }
}

@media (max-width: 767px) {
    .nuvem-markets-marquee {
        height: 480px !important;
        width: 100% !important; /* Full width em mobile */
    }
}

/* ============================================
      Gradient Fade Overlays (created by JS)
      ============================================ */

.nuvem-marquee-fade-top,
.nuvem-marquee-fade-bottom {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    height: 96px !important;
    z-index: 10 !important;
    pointer-events: none !important;
    width: 100% !important;
}

.nuvem-marquee-fade-top {
    top: 0 !important;
    background: linear-gradient(to bottom, #f9fafb 0%, transparent 100%) !important;
}

.nuvem-marquee-fade-bottom {
    bottom: 0 !important;
    background: linear-gradient(to top, #f9fafb 0%, transparent 100%) !important;
}

/* ============================================
      Ticker Animation Container + HOVER PAUSE
      ============================================ */

@keyframes nuvem-ticker-scroll-vertical {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-50%);
    }
}

.nuvem-markets-ticker {
    display: flex !important;
    flex-direction: column !important;
    animation: 20s linear infinite nuvem-ticker-scroll-vertical !important;
    will-change: transform !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

/* HOVER PAUSE - Via CSS */
.nuvem-markets-marquee:hover .nuvem-markets-ticker {
    animation-play-state: paused !important;
}

/* HOVER nos cards também pausa */
.nuvem-industry-card:hover ~ .nuvem-markets-ticker,
.nuvem-markets-ticker:has(.nuvem-industry-card:hover) {
    animation-play-state: paused !important;
}

/* ============================================
      Industry Cards - GAP COM PADDING FORÇADO
      ============================================ */

.nuvem-industry-card.et_pb_group.et_pb_module {
    margin: 0 0 2rem 0 !important;
    padding: 1.5rem !important;
    background-color: #ffffff !important;
    border: 1px solid #f3f4f6 !important;
    border-radius: 0.75rem !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) !important;
    transition: all 0.3s ease !important;
    display: block !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

.nuvem-industry-card.et_pb_group.et_pb_module:hover {
    border-color: rgba(239, 123, 37, 0.3) !important;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
}

/* Inner wrapper - Layout horizontal SEM gap (não funciona no Divi) */
.nuvem-markets-column-right .nuvem-industry-card.et_pb_group .et_pb_group_inner {
    display: block !important; /* ← BLOCK em vez de FLEX */
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

/* Clearfix para layout horizontal */
.nuvem-markets-column-right .nuvem-industry-card.et_pb_group .et_pb_group_inner::after {
    content: '' !important;
    display: table !important;
    clear: both !important;
}

/* ============================================
      Icon Wrapper - FLOAT LEFT com MARGIN RIGHT
      ============================================ */

.nuvem-markets-column-right .nuvem-industry-card .nuvem-industry-icon.et_pb_text.et_pb_module {
    width: 3.5rem !important;
    height: 3.5rem !important;
    min-width: 3.5rem !important;
    max-width: 3.5rem !important;
    border-radius: 0.5rem !important;
    background: linear-gradient(to bottom right, #FFF4ED, #FFCBA3) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 1.5rem 0 0 !important; /* ← MARGIN RIGHT 24px */
    flex-shrink: 0 !important;
    position: relative !important;
    overflow: hidden !important;
    float: left !important; /* ← FLOAT LEFT */
}

/* Hide text content inside icon module */
.nuvem-industry-icon.et_pb_text .et_pb_text_inner,
.nuvem-industry-icon.et_pb_text .et_pb_text_inner p {
    font-size: 0 !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 0 !important;
    height: 0 !important;
    opacity: 0 !important;
    position: absolute !important;
    visibility: hidden !important;
}

/* Icon displayed via ::before pseudo-element */
.nuvem-industry-icon.et_pb_text::before {
    content: '' !important;
    display: block !important;
    width: 1.75rem !important;
    height: 1.75rem !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    filter: brightness(0) saturate(100%) invert(35%) sepia(76%) saturate(1043%) hue-rotate(348deg) brightness(91%) contrast(86%) !important;
    position: relative !important;
    z-index: 1 !important;
}

/* ============================================
      Icon Library - Background Images
      ============================================ */

.nuvem-icon-building-markets.et_pb_text::before {
    background-image: url('/wp-content/mu-plugins/assets/images/building1-icon.svg') !important;
}

.nuvem-icon-plane.et_pb_text::before {
    background-image: url('/wp-content/mu-plugins/assets/images/plane-icon.svg') !important;
}

.nuvem-icon-zap.et_pb_text::before {
    background-image: url('/wp-content/mu-plugins/assets/images/zap-icon.svg') !important;
}

.nuvem-icon-factory.et_pb_text::before {
    background-image: url('/wp-content/mu-plugins/assets/images/factory-icon.svg') !important;
}

.nuvem-icon-truck.et_pb_text::before {
    background-image: url('/wp-content/mu-plugins/assets/images/truck-icon.svg') !important;
}

.nuvem-icon-house.et_pb_text::before {
    background-image: url('/wp-content/mu-plugins/assets/images/house-icon.svg') !important;
}

.nuvem-icon-coffee.et_pb_text::before {
    background-image: url('/wp-content/mu-plugins/assets/images/coffee-icon.svg') !important;
}

/* ============================================
      Card Content - OVERFLOW HIDDEN (cria novo contexto)
      ============================================ */

.nuvem-markets-column-right .nuvem-industry-card .nuvem-industry-content.et_pb_text.et_pb_module {
    overflow: hidden !important; /* ← Cria novo block formatting context */
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
}

.nuvem-industry-content.et_pb_text .et_pb_text_inner {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    display: block !important;
}

/* Remove extra <br> */
.nuvem-industry-content.et_pb_text .et_pb_text_inner br:first-child {
    display: none !important;
}

.nuvem-industry-content.et_pb_text h3 {
    font-size: 1.125rem !important;
    color: #0f172a !important;
    margin: 0 0 0.5rem 0 !important;
    padding: 0 !important;
    line-height: 1.55 !important;
    transition: color 0.3s ease !important;
    text-align: left !important;
    display: block !important;
}

.nuvem-industry-card.et_pb_group:hover .nuvem-industry-content.et_pb_text h3 {
    color: #EF7B25 !important;
}

.nuvem-industry-content.et_pb_text .et_pb_text_inner p {
    font-size: 1rem !important;
    color: #64748b !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    display: block !important;
}

/* ============================================
      Responsive - Gap menor em mobile
      ============================================ */

@media (max-width: 767px) {
    .nuvem-markets-column-right .nuvem-industry-card .nuvem-industry-icon.et_pb_text {
        margin-right: 1rem !important; /* Gap menor em mobile (16px) */
    }
}

/* ============================================
      Responsive Adjustments
      ============================================ */

@media (max-width: 767px) {
    .nuvem-markets-section.et_pb_section {
        padding: 4rem 0 !important;
    }
    
    .nuvem-markets-grid.et_pb_row {
        gap: 2rem !important;
        align-items: flex-start !important; /* Mobile: não centrar */
    }
    
    .nuvem-markets-title.et_pb_text h2 {
        font-size: 2rem !important;
    }
    
    .nuvem-markets-description.et_pb_text,
    .nuvem-markets-description.et_pb_text .et_pb_text_inner p {
        font-size: 1.125rem !important;
    }
    
    .nuvem-industry-card.et_pb_group {
        padding: 1.25rem !important;
    }
    
    .nuvem-markets-column-right .nuvem-industry-card .et_pb_group_inner {
        gap: 1rem !important; /* Gap menor em mobile */
    }
}
/* ==========================================================================
   Case Studies Section - Projects Grid with Shortcode
   ========================================================================== */

/* ============================================
      Section Base
      ============================================ */

.nuvem-case-studies-section.et_pb_section {
    padding: 6rem 0 !important;
    background-color: #ffffff !important;
}

.nuvem-case-studies-container.et_pb_row {
    max-width: 96rem !important;
    margin: 0 auto !important;
    padding: 0 1rem !important;
}

@media (min-width: 640px) {
    .nuvem-case-studies-container.et_pb_row {
        padding: 0 1.5rem !important;
    }
}

@media (min-width: 1024px) {
    .nuvem-case-studies-container.et_pb_row {
        padding: 0 2rem !important;
    }
}

/* Remove Divi default column padding */
.nuvem-case-studies-container .et_pb_column {
    padding: 0 !important;
}

/* ============================================
      Header Section (Badge + Title + Description) - ULTRA ESPECÍFICO
      ============================================ */

.nuvem-case-studies-header.et_pb_row,
.nuvem-case-studies-header.et_pb_row_nested {
    text-align: center !important;
    margin-bottom: 4rem !important;
    padding: 0 !important;
}

.nuvem-case-studies-header .et_pb_column {
    padding: 0 !important;
    margin: 0 !important;
}

/* Remove ALL margins from column inner */
.nuvem-case-studies-header .et_pb_column .et_pb_column_inner {
    padding: 0 !important;
    margin: 0 !important;
}

/* Badge - FORÇAR margin pequena */
.nuvem-case-studies-header .nuvem-badge-orange-light.et_pb_text.et_pb_module {
    margin: 0 0 0.75rem 0 !important; /* ← 12px abaixo */
    padding: 0 !important;
}

/* Title - FORÇAR margin pequena */
.nuvem-case-studies-header .nuvem-case-studies-title.et_pb_text.et_pb_module {
    margin: 0 0 1rem 0 !important; /* ← 16px abaixo */
    padding: 0 !important;
    text-align: center !important;
}

.nuvem-case-studies-title.et_pb_text h2,
.nuvem-case-studies-title.et_pb_text .et_pb_text_inner h2 {
    font-size: 2.25rem !important;
    color: #0f172a !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.11 !important;
    text-align: center !important;
}

@media (min-width: 768px) {
    .nuvem-case-studies-title.et_pb_text h2,
    .nuvem-case-studies-title.et_pb_text .et_pb_text_inner h2 {
        font-size: 3rem !important;
        line-height: 1 !important;
    }
}

/* Description - SEM margin-bottom */
.nuvem-case-studies-header .nuvem-case-studies-description.et_pb_text.et_pb_module {
    font-size: 1.125rem !important;
    line-height: 1.75rem !important;
    color: #64748b !important;
    text-align: center !important;
    margin: 0 auto !important; /* ← ZERO margin-bottom */
    padding: 0 !important;
}

.nuvem-case-studies-description.et_pb_text .et_pb_text_inner {
    max-width: 48rem !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.nuvem-case-studies-description.et_pb_text .et_pb_text_inner p {
    margin: 0 !important;
    padding: 0 !important;
    color: #64748b !important;
}

@media (min-width: 1024px) {
    .nuvem-case-studies-description.et_pb_text {
        font-size: 1.25rem !important;
    }
}

/* ============================================
      Projects Grid Wrapper (Shortcode Output)
      ============================================ */

.nuvem-projects-grid-wrapper {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
    width: 100% !important;
    margin: 0 0 4rem 0 !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
    .nuvem-projects-grid-wrapper {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (min-width: 1024px) {
    .nuvem-projects-grid-wrapper {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

.nuvem-projects-grid-wrapper .nuvem-case-study-card {
    width: 100% !important;
    max-width: 100% !important;
}

/* ============================================
      Case Study Card
      ============================================ */

.nuvem-case-study-card {
    cursor: pointer !important;
    display: flex !important;
    flex-direction: column !important;
}

/* ============================================
      Card Image Container
      ============================================ */

.nuvem-case-study-image {
    position: relative !important;
    aspect-ratio: 4 / 3 !important;
    border-radius: 1rem !important;
    overflow: hidden !important;
    margin-bottom: 1.5rem !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    will-change: transform !important;
}

/* Hover APENAS na imagem (não no card todo) */
.nuvem-case-study-card:hover .nuvem-case-study-image {
    transform: translateY(-4px) !important;
}

.nuvem-case-study-image a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.nuvem-case-study-image img,
.nuvem-case-study-image svg {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    filter: grayscale(100%) !important;
    transition: filter 0.5s ease !important;
    -webkit-filter: grayscale(100%) !important;
}

.nuvem-case-study-card:hover .nuvem-case-study-image img,
.nuvem-case-study-card:hover .nuvem-case-study-image svg {
    filter: grayscale(0%) !important;
    -webkit-filter: grayscale(0%) !important;
}

/* Gradient overlay on hover */
.nuvem-case-study-image::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to top, rgba(15, 23, 42, 0.6) 0%, transparent 100%) !important;
    opacity: 0 !important;
    transition: opacity 0.5s ease !important;
    pointer-events: none !important;
}

.nuvem-case-study-card:hover .nuvem-case-study-image::after {
    opacity: 1 !important;
}

/* ============================================
      Card Content
      ============================================ */

.nuvem-case-study-content {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.75rem !important;
}

/* Title */
.nuvem-case-study-content h3 {
    font-size: 1.5rem !important;
    line-height: 2rem !important;
    color: #0f172a !important;
    margin: 0 !important;
    transition: color 0.3s ease !important;
}

.nuvem-case-study-content h3 a {
    color: inherit !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.nuvem-case-study-card:hover .nuvem-case-study-content h3,
.nuvem-case-study-card:hover .nuvem-case-study-content h3 a {
    color: #EF7B25 !important;
}

/* Category Badge */
.nuvem-case-study-category {
    display: inline-block !important;
    padding: 0.25rem 0.75rem !important;
    border-radius: 9999px !important;
    background-color: #FFF4ED !important;
    border: 1px solid rgba(239, 123, 37, 0.2) !important;
    color: #C75D1A !important;
    font-size: 0.875rem !important;
    line-height: 1.25rem !important;
    width: fit-content !important;
    margin: 0 !important;
}

/* Description / Excerpt */
.nuvem-case-study-content p {
    color: #64748b !important;
    font-size: 1rem !important;
    line-height: 1.625 !important;
    margin: 0 !important;
}

/* View Case Study Link */
.nuvem-case-study-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    color: #EF7B25 !important;
    font-size: 1rem !important;
    text-decoration: none !important;
    transition: gap 0.3s ease !important;
    margin-top: 0.5rem !important;
    width: fit-content !important;
}

.nuvem-case-study-card:hover .nuvem-case-study-link {
    gap: 0.75rem !important;
}

.nuvem-case-study-link svg {
    width: 1rem !important;
    height: 1rem !important;
    flex-shrink: 0 !important;
}

/* ============================================
      Footer Section (Button)
      ============================================ */

.nuvem-case-studies-footer.et_pb_row,
.nuvem-case-studies-footer.et_pb_row_nested {
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.nuvem-case-studies-footer .et_pb_column {
    padding: 0 !important;
}

.nuvem-case-studies-footer .et_pb_button_module_wrapper {
    text-align: center !important;
}

/* Button - reusa preset existente nuvem-button-outline-orange */

/* ============================================
      No Projects Message
      ============================================ */

.nuvem-no-projects {
    text-align: center !important;
    padding: 3rem 1rem !important;
    color: #64748b !important;
    font-size: 1.125rem !important;
    grid-column: 1 / -1 !important;
}

.nuvem-no-projects p {
    margin: 0 !important;
}

/* ============================================
      Responsive Adjustments
      ============================================ */

@media (max-width: 767px) {
    .nuvem-case-studies-section.et_pb_section {
        padding: 4rem 0 !important;
    }
    
    .nuvem-case-studies-header.et_pb_row {
        margin-bottom: 3rem !important;
    }
    
    .nuvem-case-studies-title.et_pb_text h2 {
        font-size: 2rem !important;
    }
    
    .nuvem-case-studies-description.et_pb_text {
        font-size: 1rem !important;
    }
    
    .nuvem-projects-grid-wrapper {
        gap: 1.5rem !important;
        margin-bottom: 3rem !important;
    }
    
    .nuvem-case-study-content h3 {
        font-size: 1.25rem !important;
        line-height: 1.75rem !important;
    }
}

/* Tablet adjustments */
@media (min-width: 768px) and (max-width: 1023px) {
    .nuvem-projects-grid-wrapper {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* ==========================================================================
   Research & Development Section - R&D Partnerships & Innovation
   ========================================================================== */

/* ============================================
      Section Base - Override Divi defaults
      ============================================ */

.nuvem-rd-section.et_pb_section {
    padding: 6rem 0 !important;
    background-color: #f9fafb !important; /* gray-50 */
}

.nuvem-rd-container.et_pb_row {
    max-width: 96rem !important;
    margin: 0 auto !important;
    padding: 0 1rem !important;
}

@media (min-width: 640px) {
    .nuvem-rd-container.et_pb_row {
        padding: 0 1.5rem !important;
    }
}

@media (min-width: 1024px) {
    .nuvem-rd-container.et_pb_row {
        padding: 0 2rem !important;
    }
}

/* ============================================
      Two Column Layout - 50/50 Desktop
      ============================================ */

.nuvem-rd-grid.et_pb_row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 3rem !important;
    align-items: center !important;
    width: 100% !important;
}

@media (min-width: 1024px) {
    .nuvem-rd-grid.et_pb_row {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* Remove Divi default column padding */
.nuvem-rd-grid.et_pb_row .et_pb_column {
    padding: 0 !important;
}

/* ============================================
      Left Column - Project Cards (3 cards vertical)
      ============================================ */

.nuvem-rd-column-left.et_pb_column.et_flex_column {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important; /* 24px gap between cards */
    padding: 0 4rem !important; /* px-16 from Tailwind */
    position: relative !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

@media (max-width: 1023px) {
    .nuvem-rd-column-left.et_pb_column.et_flex_column {
        padding: 0 !important;
    }
}

/* ============================================
      Project Card Component - Group/Row wrapper
      ============================================ */

.nuvem-rd-card.et_pb_group,
.nuvem-rd-card.et_pb_row {
    position: relative !important;
    width: 100% !important;
    padding: 1.5rem !important; /* p-6 = 24px */
    border: 1px solid #e5e7eb !important; /* border-gray-100 */
    border-radius: 0.75rem !important; /* rounded-xl */
    background-color: #ffffff !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1) !important; /* shadow-md */
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    display: block !important;
}

.nuvem-rd-card.et_pb_group:hover,
.nuvem-rd-card.et_pb_row:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) !important; /* shadow-lg on hover */
    transform: translateY(-2px) !important;
}

/* Force all modules inside card to display block */
.nuvem-rd-card.et_pb_group > .et_pb_module {
    display: block !important;
}

/* ============================================
      Project Card Logo - Image Module
      ============================================ */

.nuvem-rd-card .nuvem-rd-logo.et_pb_image {
    margin-bottom: 0.5rem !important; /* mb-2 = 8px */
    max-width: 100% !important;
}

.nuvem-rd-card .nuvem-rd-logo.et_pb_image img {
    width: auto !important;
    height: 3rem !important; /* h-12 = 48px */
    max-height: 3rem !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 !important;
}

/* ============================================
      Project Card Description - Text Module
      ============================================ */

.nuvem-rd-card .nuvem-rd-description.et_pb_text {
    margin-bottom: 1rem !important; /* mb-4 = 16px */
}

.nuvem-rd-card .nuvem-rd-description.et_pb_text .et_pb_text_inner p {
    color: #64748b !important;
    font-size: 1rem !important; /* text-base */
    line-height: 1.5 !important;
    margin: 0 !important;
}

/* ============================================
      Project Card Button - Text Module with link
      ============================================ */

.nuvem-rd-card .nuvem-rd-card-button.et_pb_text {
    margin: 0 !important;
}

.nuvem-rd-card .nuvem-rd-card-button.et_pb_text .et_pb_text_inner {
    margin: 0 !important;
}

.nuvem-rd-card .nuvem-rd-card-button.et_pb_text .et_pb_text_inner p {
    margin: 0 !important;
}

.nuvem-rd-card .nuvem-rd-card-button.et_pb_text a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    padding: 0.5rem 1rem !important; /* py-2 px-4 */
    border-radius: 0.5rem !important; /* rounded-lg */
    font-size: 0.875rem !important; /* text-sm */
    line-height: 1.25rem !important;
    color: #C75D1A !important;
    background-color: transparent !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    border: none !important;
}

.nuvem-rd-card .nuvem-rd-card-button.et_pb_text a:hover {
    background-color: #FFF4ED !important;
}

/* Arrow icon via ::after pseudo-element */
.nuvem-rd-card .nuvem-rd-card-button.et_pb_text a::after {
    content: '' !important;
    display: inline-block !important;
    width: 1rem !important;
    height: 1rem !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23C75D1A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    margin-left: 0.5rem !important;
}

/* ============================================
      Right Column - Content (Badge + Title + Description + CTA)
      ============================================ */

.nuvem-rd-column-right.et_pb_column.et_flex_column {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important; /* Manual spacing via margin-bottom */
    position: relative !important;
    width: 100% !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* ============================================
      Content Badge (uses existing preset)
      ============================================ */

.nuvem-rd-column-right .nuvem-badge-orange-light.et_pb_text {
    margin-bottom: 1rem !important; /* mb-4 = 16px */
    text-align: left !important;
}

.nuvem-rd-column-right .nuvem-badge-orange-light.et_pb_text .et_pb_text_inner {
    text-align: left !important;
}

/* ============================================
      Content Title - H2 inside Text Module
      ============================================ */

.nuvem-rd-column-right .nuvem-rd-title.et_pb_text {
    margin-bottom: 1rem !important; /* mb-4 = 16px */
}

.nuvem-rd-column-right .nuvem-rd-title.et_pb_text h2 {
    font-size: 2.25rem !important; /* text-4xl = 36px */
    line-height: 1.2 !important;
    color: #0f172a !important;
    margin: 0 !important;
}

@media (min-width: 768px) {
    .nuvem-rd-column-right .nuvem-rd-title.et_pb_text h2 {
        font-size: 3rem !important; /* text-5xl = 48px */
        line-height: 1 !important;
    }
}

/* Line breaks in title */
.nuvem-rd-column-right .nuvem-rd-title.et_pb_text h2 br {
    display: block !important;
}

/* ============================================
      Content Description - Text Module
      ============================================ */

.nuvem-rd-column-right .nuvem-rd-description-text.et_pb_text {
    margin-bottom: 2rem !important; /* mb-8 = 32px */
}

.nuvem-rd-column-right .nuvem-rd-description-text.et_pb_text .et_pb_text_inner p {
    font-size: 1.25rem !important; /* text-xl = 20px */
    line-height: 1.625 !important; /* leading-relaxed */
    color: #64748b !important;
    margin: 0 !important;
}

/* ============================================
      Content CTA Button (uses existing preset)
      ============================================ */

.nuvem-rd-column-right .nuvem-button-outline-orange.et_pb_button {
    padding: 1.5rem !important; /* py-6 = 24px vertical */
    padding-left: 2rem !important; /* px-8 = 32px horizontal */
    padding-right: 2rem !important;
    align-self: flex-start !important;
}

/* Larger arrow icon for CTA */
.nuvem-rd-column-right .nuvem-button-outline-orange.et_pb_button::after {
    content: '' !important;
    display: inline-block !important;
    width: 1.25rem !important; /* w-5 = 20px */
    height: 1.25rem !important; /* h-5 = 20px */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23C75D1A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    margin-left: 0.5rem !important;
}

/* ============================================
      Responsive Adjustments
      ============================================ */

/* Tablet adjustments */
@media (min-width: 768px) and (max-width: 1023px) {
    .nuvem-rd-column-left.et_pb_column.et_flex_column {
        padding: 0 2rem !important;
    }
    
    .nuvem-rd-grid.et_pb_row {
        gap: 2rem !important;
    }
}

/* Mobile adjustments */
@media (max-width: 767px) {
    .nuvem-rd-section.et_pb_section {
        padding: 4rem 0 !important;
    }
    
    .nuvem-rd-grid.et_pb_row {
        gap: 2rem !important;
    }
    
    .nuvem-rd-column-left.et_pb_column.et_flex_column {
        gap: 1rem !important; /* Smaller gap on mobile */
    }
    
    .nuvem-rd-card.et_pb_group,
    .nuvem-rd-card.et_pb_row {
        padding: 1.25rem !important;
    }
    
    .nuvem-rd-column-right .nuvem-rd-title.et_pb_text h2 {
        font-size: 2rem !important; /* Smaller on mobile */
    }
    
    .nuvem-rd-column-right .nuvem-rd-description-text.et_pb_text .et_pb_text_inner p {
        font-size: 1.125rem !important; /* Smaller on mobile */
    }
}

/* ==========================================================================
   Global Presence Section - Worldwide Operations Map
   ========================================================================== */

/* ============================================
      Section Base - Override Divi defaults
      ============================================ */

.nuvem-global-section.et_pb_section {
    padding: 6rem 0 !important;
    background-color: #ffffff !important;
}

.nuvem-global-container.et_pb_row {
    max-width: 96rem !important;
    margin: 0 auto !important;
    padding: 0 1rem !important;
}

@media (min-width: 640px) {
    .nuvem-global-container.et_pb_row {
        padding: 0 1.5rem !important;
    }
}

@media (min-width: 1024px) {
    .nuvem-global-container.et_pb_row {
        padding: 0 2rem !important;
    }
}

/* Remove Divi default column padding */
.nuvem-global-container.et_pb_row .et_pb_column {
    padding: 0 !important;
}

/* ============================================
      Section Header - Badge + Title + Description
      ============================================ */

.nuvem-global-header.et_pb_row,
.nuvem-global-header.et_pb_row_nested {
    text-align: center !important;
    margin-bottom: 4rem !important; /* mb-16 = 64px */
}

/* Badge - using existing preset nuvem-badge-orange-light */
.nuvem-global-header .nuvem-badge-orange-light.et_pb_text {
    margin-bottom: 1rem !important; /* mb-4 = 16px */
}

/* Title */
.nuvem-global-title.et_pb_text h2,
.nuvem-global-title.et_pb_text .et_pb_text_inner h2 {
    font-size: 2.25rem !important; /* text-4xl = 36px */
    color: #0f172a !important;
    margin-bottom: 1rem !important; /* mb-4 = 16px */
    line-height: 1.1 !important;
    text-align: center !important;
}

@media (min-width: 768px) {
    .nuvem-global-title.et_pb_text h2,
    .nuvem-global-title.et_pb_text .et_pb_text_inner h2 {
        font-size: 3rem !important; /* text-5xl = 48px */
        line-height: 1 !important;
    }
}

/* Description */
.nuvem-global-description.et_pb_text {
    font-size: 1.25rem !important; /* text-xl = 20px */
    color: #64748b !important;
    line-height: 1.75 !important;
    text-align: center !important;
}

.nuvem-global-description.et_pb_text .et_pb_text_inner {
    max-width: 48rem !important; /* max-w-3xl = 768px */
    margin: 0 auto !important;
}

.nuvem-global-description.et_pb_text .et_pb_text_inner p {
    max-width: 48rem !important;
    margin: 0 auto !important;
}

/* ============================================
      Map Container - Image Module with Dark Background
      ============================================ */

.nuvem-global-map-wrapper.et_pb_image {
    position: relative !important;
    width: 100% !important;
    height: 29rem !important; /* h-116 = 464px (116 * 4px) */
    border-radius: 1rem !important; /* rounded-2xl = 16px */
    overflow: hidden !important;
    background: linear-gradient(to bottom right, #0f172a, #1e293b) !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important; /* shadow-2xl */
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Image inside wrapper */
.nuvem-global-map-wrapper.et_pb_image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
}

/* Alternative: If using Code Module for map */
.nuvem-global-map-code.et_pb_code {
    position: relative !important;
    width: 100% !important;
    height: 29rem !important; /* h-116 = 464px */
    border-radius: 1rem !important; /* rounded-2xl = 16px */
    overflow: hidden !important;
    background: linear-gradient(to bottom right, #0f172a, #1e293b) !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
    margin: 0 !important;
}

.nuvem-global-map-code.et_pb_code .et_pb_code_inner {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
}

.nuvem-global-map-code.et_pb_code img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* ============================================
      Responsive Adjustments
      ============================================ */

/* Tablet adjustments */
@media (min-width: 768px) and (max-width: 1023px) {
    .nuvem-global-header.et_pb_row {
        margin-bottom: 3rem !important;
    }
    
    .nuvem-global-map-wrapper.et_pb_image,
    .nuvem-global-map-code.et_pb_code {
        height: 24rem !important; /* Reduzir altura em tablet */
    }
}

/* Mobile adjustments */
@media (max-width: 767px) {
    .nuvem-global-section.et_pb_section {
        padding: 4rem 0 !important;
    }
    
    .nuvem-global-header.et_pb_row {
        margin-bottom: 2rem !important;
    }
    
    .nuvem-global-title.et_pb_text h2 {
        font-size: 2rem !important; /* Smaller on mobile */
    }
    
    .nuvem-global-description.et_pb_text {
        font-size: 1.125rem !important; /* Smaller on mobile */
    }
    
    .nuvem-global-map-wrapper.et_pb_image,
    .nuvem-global-map-code.et_pb_code {
        height: 20rem !important; /* h-80 = 320px em mobile */
        border-radius: 0.75rem !important; /* rounded-xl em mobile */
    }
}