@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Outfit:wght@700;800;900&display=swap');

/* =======================================================
   ECOM GLOBAL - PREMIUM BRAND IDENTITY 
   (Refinamento com base nos gradientes fluidos do PDF)
======================================================= */

:root {
    /* Ecom Global Palette - Orange Rebrand */
    --ecom-white: #FFFFFF;
    --ecom-light-blue: #FF9D66; /* Laranja Suave */
    --ecom-main-blue: #F65C09;  /* Laranja Principal */
    --ecom-deep-blue: #9C3A01;  /* Laranja Profundo */
    --ecom-navy: #080C14;       /* Fundo Principal — preto-navy profundo */
}

/* Global Background & Base Font */
body, html {
    background-color: var(--ecom-navy) !important;
    font-family: 'Inter', sans-serif !important;
    color: var(--ecom-white) !important;
    overflow-x: hidden;
}

/* Force clean dark background on all Elementor sections */
.elementor-section, 
.elementor-container, 
.elementor-widget-wrap,
.e-con,
.e-con-inner,
.e-con-full,
.e-con-boxed {
    background-color: transparent !important;
    background-image: none !important;
}

/* Restaura o fundo original escuro e a borda do Card de Preço (Tome uma atitude) */
.elementor-element-445f7139 {
    background-color: #030812 !important;
    background-image: none !important;
    border: 1px solid rgba(69, 118, 255, 0.15) !important;
    border-radius: 12px !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4) !important;
    padding: 40px 20px !important;
}

/* Restaura a cor dourada original do botão no card de preço */
.elementor-element-3c96f8d .elementor-button, 
.elementor-element-3c96f8d .elementor-button-link {
    background: #A67C00 !important;
    background-image: linear-gradient(180deg, #C29B00 0%, #8A6200 100%) !important;
    box-shadow: none !important;
    border: 1px solid #D4AF37 !important;
    color: #FFFFFF !important;
}
.elementor-element-3c96f8d .elementor-button:hover, 
.elementor-element-3c96f8d .elementor-button-link:hover {
    background: #C29B00 !important;
    background-image: linear-gradient(180deg, #D4AF37 0%, #A67C00 100%) !important;
    box-shadow: 0 5px 15px rgba(166, 124, 0, 0.4) !important;
    transform: translateY(-2px) !important;
}

/* Cards das etapas 01/02/03 — fundo laranja + contorno laranja escuro */
.elementor-element-eda949d,
.elementor-element-1702121,
.elementor-element-3f9b82d {
    background-color: radial-gradient(circle at center, rgba(246, 92, 9, 0.3) 0%, rgba(246, 92, 9, 0.1) 100%) !important;
    background: radial-gradient(circle at center, rgba(246, 92, 9, 0.3) 0%, rgba(246, 92, 9, 0.1) 100%) !important;
    background-image: none !important;
    border: 2px solid #F65C09 !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Oculta os textos sobrepostos das imagens de fundo dos cards de benefício (pois as imagens novas já têm texto) */
.elementor-element-43a0794d .elementor-widget-image-box,
.elementor-element-7eb1476 .elementor-widget-image-box,
.elementor-element-3cf06ac6 .elementor-widget-image-box,
.elementor-element-7b6c6a52 .elementor-widget-image-box,
.elementor-element-635490a6 .elementor-widget-image-box {
    opacity: 0 !important;
    pointer-events: none !important;
}

/* ================= Hero Section ================= */
.elementor-element-0d08169 .elementor-image-box-title,
.elementor-element-0d08169 .elementor-image-box-title * {
    font-size: 45px !important;
    line-height: 1.08 !important;
    letter-spacing: -0.01em !important;
    font-weight: 800 !important;
    font-family: 'Outfit', sans-serif !important;
}

@media (max-width: 767px) {
    .elementor-element-0d08169 .elementor-image-box-title,
    .elementor-element-0d08169 .elementor-image-box-title * {
        font-size: 28px !important;
    }
}

.elementor-element-0d08169 .elementor-image-box-description {
    font-size: 9px !important;
    line-height: 1.6 !important;
    opacity: 0.55 !important;
    margin-top: 16px !important;
}

@media (max-width: 768px) {
    .hero-br { display: none !important; }
    .elementor-element-0d08169 .elementor-image-box-title,
    .elementor-element-0d08169 .elementor-image-box-title * {
        font-size: 22px !important;
        white-space: normal !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
    }
    .elementor-element-0d08169 .elementor-image-box-description {
        font-size: 9px !important;
    }
}

/* ================= Typography ================= */

/* Headlines - Neue Power Vibe (Using heavy Outfit as fallback) */
h1, h2, h3, h4, h5, h6, 
.elementor-heading-title, 
.elementor-image-box-title {
    font-family: 'Neue Power', 'Outfit', sans-serif !important;
    color: var(--ecom-white) !important;
    letter-spacing: -0.03em !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
}

/* Highlighted Text in Headlines */
h1 b, h2 b, h3 b, h4 b, h5 b, h6 b,
.elementor-heading-title b, 
.elementor-image-box-title b,
h1 strong, h2 strong, h3 strong, h4 strong, h5 strong, h6 strong {
    color: var(--ecom-light-blue) !important;
    font-weight: 900 !important;
}

/* Body Text & Subtitles - Inter (Clean, geometric, readable) */
p, span, div,
.elementor-image-box-description, 
.elementor-icon-box-description,
.elementor-text-editor,
.elementor-icon-list-text {
    font-family: 'Inter', sans-serif !important;
    color: rgba(255, 255, 255, 0.8) !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
}

/* Adjust Main Subheadline for Impact */
.elementor-element-0d08169 .elementor-image-box-description {
    font-size: 1.25rem !important;
    color: rgba(255, 255, 255, 0.95) !important;
    font-weight: 300 !important;
    margin-top: 15px !important;
    letter-spacing: -0.01em !important;
}

/* ================= Buttons & CTAs ================= */

/* Refined ECOM GLOBAL Button Vibe */
.elementor-button, .elementor-button-link {
    background: #F65C09 !important;
    background-image: linear-gradient(135deg, #F65C09 0%, #d44800 100%) !important;
    border-radius: 8px !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 0px !important;
    text-transform: none !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 12px 30px rgba(246, 92, 9, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
    transition: all 0.3s ease-out !important;
    padding: 20px 48px !important;
    color: #FFFFFF !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    font-size: 1.1rem !important;
}

.elementor-button:hover, .elementor-button-link:hover {
    background: #d44800 !important;
    background-image: linear-gradient(135deg, #d44800 0%, #b83d00 100%) !important;
    box-shadow: 0 16px 40px rgba(246, 92, 9, 0.65), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
    transform: translateY(-2px) !important;
}

/* ================= Ambient Mesh Gradients (Inspirado nas imagens do PDF) ================= */

/* Criando o fundo fluido e premium via Pseudo-elementos na Hero Section */
.elementor-element-2f50a3cf {
    position: relative;
    z-index: 1;
    overflow: hidden;
    background-color: var(--ecom-navy) !important;
}

/* Brilho Azul Mar/Deep Blue Superior Esquerdo */
.elementor-element-2f50a3cf::before {
    content: '';
    position: absolute;
    top: -30%;
    left: -20%;
    width: 80vw;
    height: 80vw;
    background: radial-gradient(circle, radial-gradient(circle at center, rgba(246, 92, 9, 0.3) 0%, rgba(246, 92, 9, 0.1) 100%) 0%, rgba(8, 12, 20, 0) 70%);
    filter: blur(80px);
    -webkit-filter: blur(80px);
    z-index: -1;
    pointer-events: none;
    border-radius: 50%;
    opacity: 0.6;
}

/* Brilho Azul Royal/Main Blue Inferior Direito */
.elementor-element-2f50a3cf::after {
    content: '';
    position: absolute;
    bottom: -20%;
    right: -20%;
    width: 60vw;
    height: 60vw;
    background: radial-gradient(circle, rgba(246, 92, 9, 0.15) 0%, rgba(8, 12, 20, 0) 65%);
    filter: blur(100px);
    -webkit-filter: blur(100px);
    z-index: -1;
    pointer-events: none;
    border-radius: 50%;
    opacity: 0.4;
}

/* ================= Premium Elements & Flourishes ================= */

/* Video Wrapper Styling (Panda Video) */
.elementor-widget-html iframe,
.panda-wrap {
    border-radius: 20px !important;
    box-shadow: 0 30px 60px -15px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(69, 118, 255, 0.15) !important;
    overflow: hidden !important;
}

/* Viewer Counter (PCL Viewers) - Glassmorphism refinado */
.elementor-element-a7ed773 .elementor-widget-container {
    text-align: center !important;
    width: 100%;
}

.pcl-viewers {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 100px !important;
    padding: 10px 24px !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 20px auto 0 auto !important;
}

.pcl-viewers .texto, .pcl-viewers .usuarios {
    color: var(--ecom-white) !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    letter-spacing: 0.01em !important;
    opacity: 0.85 !important;
}

.pcl-viewers svg {
    width: 22px !important;
    height: 18px !important;
    opacity: 0.85 !important;
    margin-right: 6px !important;
}

.pcl-viewers svg .olho, .pcl-viewers svg .pupila {
    stroke: var(--ecom-white) !important;
}

/* Icon Boxes — círculo externo (anel) */
.elementor-icon-box-icon .elementor-icon svg circle:first-of-type {
    fill: #F65C09 !important;
    opacity: 1 !important;
}
/* Icon Boxes — círculo interno (fundo suave) */
.elementor-icon-box-icon .elementor-icon svg circle + circle {
    fill: #FE723F !important;
    opacity: 1 !important;
}

.elementor-icon-box-icon .elementor-icon svg path {
    fill: #FFFFFF !important;
}

/* Lists styling */
.elementor-icon-list-icon svg path[fill="#FF0000"] {
    fill: #FF0000 !important; 
}
.elementor-icon-list-icon svg path[fill="#22CF48"] {
    fill: #22CF48 !important; 
}
.elementor-icon-list-icon svg path[fill="#F65C09"] {
    fill: #F65C09 !important; 
}

/* Frase final - texto em destaque na cor laranja-vermelho */
.elementor-element-c83d78b .elementor-heading-title b,
.elementor-element-c83d78b .elementor-heading-title strong {
    color: #FFFFFF !important;
}

/* Cards da seção Resultado - fundo vermelho escuro + borda vermelha */
.elementor-element-6cf41c0,
.elementor-element-61b1cf0,
.elementor-element-2751aca,
.elementor-element-cd71660 {
    background-color: rgba(160, 0, 20, 0.25) !important;
    background: rgba(160, 0, 20, 0.25) !important;
    background-image: none !important;
    border: 2px solid #C0392B !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 15px !important;
}

.elementor-element-6cf41c0 .elementor-icon-box-wrapper,
.elementor-element-61b1cf0 .elementor-icon-box-wrapper,
.elementor-element-2751aca .elementor-icon-box-wrapper,
.elementor-element-cd71660 .elementor-icon-box-wrapper {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
}

.elementor-element-6cf41c0 .elementor-icon-box-title,
.elementor-element-61b1cf0 .elementor-icon-box-title,
.elementor-element-2751aca .elementor-icon-box-title,
.elementor-element-cd71660 .elementor-icon-box-title {
    margin: 0 !important;
    text-align: center !important;
}

/* Box "Hoje você provavelmente:" — fundo e contorno laranja suave */
.elementor-element-6f4f0c5 {
    background-color: rgba(246, 92, 9, 0.12) !important;
    background: rgba(246, 92, 9, 0.12) !important;
    background-image: none !important;
    border: 1px solid rgba(246, 92, 9, 0.45) !important;
    box-shadow: none !important;
}

/* Bloco de prova — sem negrito */
.elementor-element-799d6be .elementor-heading-title {
    font-weight: 400 !important;
}

/* Box "Na ECOM GLOBAL, você aprende:" — fundo verde escuro + borda verde */
.elementor-element-245f8da {
    background-color: #0C1A12 !important;
    background: #0C1A12 !important;
    background-image: none !important;
    border: 1px solid rgba(34, 207, 72, 0.35) !important;
    box-shadow: none !important;
}

/* ================= Faixa @ECOMGLOBAL ================= */
/* Fundo sólido laranja + texto preto nas 4 faixas marquee */
.elementor-element-6d31eb2,
.elementor-element-1c2b373a,
.elementor-element-6cac53e,
.elementor-element-ee3bd93 {
    background-color: #FFDE00 !important;
    background-image: none !important;
    overflow: hidden !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}

.elementor-element-6d31eb2 .elementor-heading-title,
.elementor-element-1c2b373a .elementor-heading-title,
.elementor-element-6cac53e .elementor-heading-title,
.elementor-element-ee3bd93 .elementor-heading-title {
    color: #000000 !important;
    white-space: nowrap !important;
}

/* Marquee / Scrolling text section */
.elementor-widget-heading h2:contains("@ECOMGLOBAL") {
    color: rgba(246, 92, 9, 0.05) !important; /* Subtle orange tint */
    font-weight: 900 !important;
}

/* WhatsApp Icon Button */
.e-fab-whatsapp {
    filter: drop-shadow(0 4px 10px rgba(0,0,0,0.3));
}

/* =======================================================
   FAQ / Accordion - Orange Palette Override
======================================================= */
.e-n-accordion-item-title {
    background-color: rgba(246, 92, 9, 0.08) !important;
    border-color: transparent !important;
}

.e-n-accordion-item[open] > .e-n-accordion-item-title,
.e-n-accordion-item-title:hover {
    border-color: #F65C09 !important;
    background-color: rgba(246, 92, 9, 0.15) !important;
}

.e-n-accordion-item-title-icon svg {
    fill: #F65C09 !important;
}

/* Global SVG override for old blue icons (lines, circles, paths) */
svg [fill="#1E7FFC"], svg [fill="#0084FF"], svg [fill="#1746EA"], svg [fill="#4576FF"], svg [fill="#2563EB"], svg path[fill="#1E7FFC"] {
    fill: #F65C09 !important;
}

/* Global SVG override for old blue strokes (arrows, lines, circles) */
svg [stroke="#0084FF"], svg [stroke="#1E7FFC"], svg [stroke="#1746EA"], svg [stroke="#4576FF"], svg [stroke="#2563EB"], svg path[stroke="#0084FF"] {
    stroke: #F65C09 !important;
}

/* -------------------------------------------------------
   Ajuste de Cor e Ocultação da Timeline
------------------------------------------------------- */

/* 1. Oculta a linha de preenchimento laranja (GSAP) */
.linee > div[style*="background: linear-gradient"],
.linee > div[style*="background:linear-gradient"],
.linee > div[style*="height"] {
    display: none !important;
    opacity: 0 !important;
}

/* 2. Oculta os círculos azuis nativos / manuais */
.linee .dot,
.linee .circle,
.linee [class*="dot"],
.linee [class*="circle"],
.linee [class*="bolinha"],
.linee [style*="border-radius: 50%"],
.linee [style*="border-radius:50%"] {
    display: none !important;
}

/* Caso tenham sido adicionados via pseudo-elementos nas seções internas, vamos torná-los invisíveis */
.linee::before, .linee::after,
.linee > .e-con-inner > .e-con::before, 
.linee > .e-con-inner > .e-con::after {
    display: none !important;
}

/* Ajuste de cor dos Numeros/Counters para Verde */
.elementor-counter-number-wrapper,
.elementor-counter-number-wrapper span,
.elementor-counter-number,
.elementor-counter-number-prefix,
.elementor-counter-number-suffix {
    color: #22CF48 !important;
}

/* ================= Carousel Image Normalization ================= */
.elementor-element-3ade1a5 .swiper-slide-image,
.elementor-element-6b5f8b20 .swiper-slide-image {
    height: 600px !important;
    width: 100% !important;
    object-fit: cover !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
}

@media (max-width: 768px) {
    .elementor-element-3ade1a5 .swiper-slide-image,
    .elementor-element-6b5f8b20 .swiper-slide-image {
        height: 500px !important; /* Um pouco menor no mobile */
    }
}

/* ================= Bento Grid Benefits Section ================= */
.bento-section {
    width: 100%;
    padding: 60px 0;
    position: relative;
    z-index: 5;
}

.bento-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 320px);
    gap: 24px;
    margin: 0 auto;
    max-width: 1250px;
    padding: 0 25px;
}

.bento-card {
    position: relative;
    border-radius: 32px;
    overflow: hidden;
    background: #0d1117;
    border: 1px solid rgba(255, 255, 255, 0.08);
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    min-height: 100%;
}

.bento-card:hover {
    transform: translateY(-10px);
    border-color: var(--ecom-light-blue);
    box-shadow: 0 25px 50px rgba(0,0,0,0.5);
}

.bento-card img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    opacity: 0.6;
    transition: all 0.8s ease;
    filter: brightness(0.9);
    z-index: 1;
}

.bento-card img[src*="benefit_familia"] {
    object-position: center center !important; 
}

.bento-card img[src*="benefit_before"] {
    object-position: center center !important; 
}

.bento-card:hover img {
    opacity: 0.8;
    transform: scale(1.05);
}

.bento-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 30px;
    background: linear-gradient(to top, rgba(8, 12, 20, 0.95) 0%, rgba(8, 12, 20, 0.4) 60%, rgba(8, 12, 20, 0) 100%);
    z-index: 2;
}

.bento-content h4 {
    font-family: 'Outfit', sans-serif !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    margin-bottom: 8px !important;
    color: #fff !important;
}

.bento-content p {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    color: rgba(255,255,255,0.6) !important;
    margin: 0 !important;
}

/* Bento Layout Specifics */
.card-large { grid-column: span 2; }
.card-tall { grid-column: span 1; grid-row: span 2; }
.card-small { grid-column: span 1; }

@media (max-width: 1100px) {
    .bento-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
    }
    .card-tall { grid-row: span 1; height: 380px; }
    .card-large, .card-small { height: 380px; }
}

@media (max-width: 768px) {
    .bento-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    .card-large, .card-tall, .card-small { grid-column: span 1; height: 320px; }
}

/* Premium Orange Informational Boxes */
.premium-orange-box {
    background: #0d0602 !important; /* Extremely dark brown-orange */
    border: 2px solid #F65C09 !important;
    border-radius: 12px !important;
    padding: 15px 20px !important;
    margin-bottom: 20px !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 4px 20px radial-gradient(circle at center, rgba(246, 92, 9, 0.3) 0%, rgba(246, 92, 9, 0.1) 100%);
}

.premium-orange-box:hover {
    background: #150903 !important;
    transform: scale(1.01);
    box-shadow: 0 8px 25px rgba(246, 92, 9, 0.2);
}

.premium-orange-box .elementor-widget-container {
    padding: 0 !important;
}

.premium-orange-box .elementor-icon-box-wrapper {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 15px !important;
    width: 100% !important;
}

.premium-orange-box .elementor-icon-box-icon {
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    line-height: 0 !important;
}

.premium-orange-box .elementor-icon-box-title {
    margin: 0 !important;
    color: #FFFFFF !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: left !important;
    display: flex !important;
    align-items: center !important;
}

/* End of Premium Orange Box Styles */

/* Comprehensive Icon Color Overrides */
.elementor-icon-list-icon svg path,
.elementor-icon-box-icon svg path,
.elementor-icon-box-icon svg circle,
.elementor-icon svg path,
.elementor-icon svg circle,
.elementor-view-default .elementor-icon svg {
    fill: #F65C09 !important;
    stroke: none !important;
}

/* Specific fix for checkmarks that might use stroke */
.elementor-icon-list-icon svg [stroke="#22CF48"] {
    stroke: #F65C09 !important;
}

/* Exception for white text/numbers inside orange icons */
.premium-orange-box .elementor-icon-box-icon text {
    fill: #FFFFFF !important;
    font-weight: 900 !important;
}

/* Force side-by-side layout for benefit cards on ALL devices (Mobile included) */
.elementor-element-70ac980d > .e-con-inner,
.elementor-element-7f64763a > .e-con-inner,
.elementor-element-60e4ab6d > .e-con-inner,
.elementor-element-5e45fc2e > .e-con-inner,
.elementor-element-1337c333 > .e-con-inner,
.elementor-element-47dc9890 > .e-con-inner,
.elementor-element-8d47ec1 > .e-con-inner,
.elementor-element-33b7bf5 > .e-con-inner,
.elementor-element-d6e8994 > .e-con-inner,
.elementor-element-cb6f2a9 > .e-con-inner,
.elementor-element-23af2f7 > .e-con-inner {
    flex-direction: row !important;
    display: flex !important;
    align-items: center !important;
    text-align: left !important;
    flex-wrap: nowrap !important;
}


/* ================= VSL Trust & CTA Section ================= */

.vsl-trust-container {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    padding: 20px 0 60px;
}

.trust-text-vsl {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    color: rgba(255, 255, 255, 0.6) !important;
    margin: 15px 0 30px !important;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.trust-text-vsl span {
    display: inline-flex;
    align-items: center;
}

.trust-text-vsl .dot {
    width: 4px;
    height: 4px;
    background: #F65C09;
    border-radius: 50%;
}

.vsl-proof-images {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.vsl-proof-images img {
    height: 60px;
    width: auto;
    opacity: 0.8;
    filter: grayscale(0.2) brightness(1.2);
    transition: all 0.3s ease;
}

.vsl-proof-images img:hover {
    opacity: 1;
    filter: none;
    transform: scale(1.05);
}

/* Button Pulse Animation */
.cta-pulse {
    animation: pulse-orange 2s infinite;
}

@keyframes pulse-orange {
    0% {
        box-shadow: 0 0 0 0 rgba(246, 92, 9, 0.7);
    }
    70% {
        box-shadow: 0 0 0 20px rgba(246, 92, 9, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(246, 92, 9, 0);
    }
}

@media (max-width: 768px) {
    /* Global Mobile Polish */
    body, html {
        overflow-x: hidden !important;
        width: 100% !important;
    }
    
    .elementor-element {
        max-width: 100% !important;
    }

    /* Fix crooked benefit boxes */
    .premium-orange-box {
        padding: 20px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-bottom: 15px !important;
    }

    .premium-orange-box .e-con-inner {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }

    .premium-orange-box .elementor-icon-box-wrapper {
        flex-direction: row !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        width: 100% !important;
        flex-wrap: nowrap !important;
    }

    .premium-orange-box .elementor-icon-box-title {
        font-size: 16px !important;
        text-align: center !important;
        line-height: 1.2 !important;
    }

    /* Specific fix for box 03 icon height */
    .elementor-element-3f9b82d .elementor-icon-box-wrapper {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Specific fix for box icons height */
    .elementor-element-eda949d .elementor-icon-box-icon,
    .elementor-element-1702121 .elementor-icon-box-icon {
        margin-bottom: 0 !important;
        transform: translateY(-4px);
    }
    .elementor-element-3f9b82d .elementor-icon-box-icon {
        margin-bottom: 0 !important;
        transform: translateY(-20px); /* Back to the previous 'up' position */
    }

    /* Fix Benefit List items */
    .elementor-element-70ac980d > .e-con-inner,
    .elementor-element-7f64763a > .e-con-inner,
    .elementor-element-60e4ab6d > .e-con-inner,
    .elementor-element-5e45fc2e > .e-con-inner,
    .elementor-element-1337c333 > .e-con-inner,
    .elementor-element-47dc9890 > .e-con-inner,
    .elementor-element-8d47ec1 > .e-con-inner,
    .elementor-element-33b7bf5 > .e-con-inner,
    .elementor-element-d6e8994 > .e-con-inner,
    .elementor-element-cb6f2a9 > .e-con-inner,
    .elementor-element-23af2f7 > .e-con-inner,
    .elementor-element-165a15ab .elementor-icon-list-item,
    .elementor-element-1e3d1320 .elementor-icon-list-item {
        padding: 12px 15px !important;
        margin-left: 10px !important;
        margin-right: 10px !important;
        width: calc(100% - 20px) !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    .benefit-list-text {
        font-size: 14px !important;
        line-height: 1.3 !important;
    }

    /* Adjust Hero Button */
    .elementor-element-2b42e2d {
        margin-bottom: 40px !important; /* Reduced from 80px */
    }

    /* Force buttons to single line on mobile */
    .elementor-button {
        white-space: nowrap !important;
        font-size: 15px !important; /* Reduced to fit single line */
        padding: 16px 20px !important; /* Reduced padding */
        letter-spacing: 0px !important;
    }

    .vsl-proof-images {
        gap: 8px;
    }
    
    .vsl-proof-images img {
        height: 30px;
    }

    /* Force Feature Cards to have same width and height on mobile */
    .elementor-element-5790e1d5,
    .elementor-element-5790e1d5 > .e-con-inner,
    .elementor-element-bb6740c,
    .elementor-element-bb6740c > .e-con-inner {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .elementor-element-8568af3,
    .elementor-element-d6e8994,
    .elementor-element-23af2f7 {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        display: block !important;
        margin-bottom: 20px !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
    }

    .detalhe .elementor-widget-container {
        min-height: 540px !important; /* Minimum height to keep them similar */
        height: auto !important;
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        border-radius: 20px !important;
    }

    .detalhe .topic-image-container {
        height: auto !important; /* Let the image define the height */
        width: 100% !important;
        flex-shrink: 0 !important;
        overflow: hidden !important;
    }

    .detalhe .topic-image-container img {
        width: 100% !important;
        height: auto !important; /* Don't cut the image */
        display: block !important;
    }

    .detalhe .elementor-icon-box-wrapper {
        padding: 15px 15px 25px !important; /* More compact padding */
        flex-grow: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
    }
}
