/* Reset margin for all paragraphs */
p {
    margin: 0;
}

/* Custom text color class */
.text-greener {
    color: var(--e-global-color-09835fc);
}

/* Arrow indicator for h2 elements */
.arrow-after h2 {
    position: relative;
}

.arrow-after h2::after {
    content: '';
    position: absolute;
    top: 0;
    right: -10px;
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 10px solid var(--e-global-color-09835fc);
}

/* Call-to-action button container styling */
.button-cta-action-container {
    margin: 0 !important;
    width: fit-content !important;
}

/* Mobile responsive styles for button container */
@media (max-width: 1023px) {
    .button-cta-action-container > div:nth-child(1), 
    .button-cta-action-container .elementor-button-wrapper {
        width: 100% !important;
    }
    
    .button-cta-action-container .elementor-button-wrapper .elementor-button {
        margin: 0 auto !important;
    }
    
    .button-cta-action-container .e-con-inner {
        margin: auto;
        display: flex;
    }
    
    .button-cta-action-container .e-con-inner > div {
        width: 100%;
    }
    
    .button-cta-action-container .e-con-inner .elementor-button-wrapper {
        width: 100%;
    }
}

/* Elementor button icon display */
.elementor-button-icon {
    display: flex;
}

/* Single element styling - disabled interaction */
.single {
    position: relative;
    pointer-events: none;
    user-select: none;
}

/* Carousel container styling */
.carousel {
    overflow-x: clip;
}

/* Swiper pagination styling */
.swiper-pagination {
    margin-bottom: 20px;
}

/* Swiper pagination bullet styling */
.swiper-pagination .swiper-pagination-bullet {
    width: 1.5vw;
    height: 1.5vw;
}

/* Desktop responsive styles for swiper pagination */
@media (min-width: 1023px) {
    .swiper-pagination .swiper-pagination-bullet {
        width: 0.38vw;
        height: 0.38vw;
    }
}

/* Swiper pagination bullet appearance */
.swiper-pagination .swiper-pagination-bullet {
    display: inline-block;
    background-color: #fff !important;
    text-align: center;
    line-height: 20px;
    border-radius: 50%;
}

/* ============================================== */
/* CALCULATOR SPECIFIC STYLES - ADDED TO FIX BUTTON */
/* ============================================== */

/* Calculator button styling - FIX FOR VISIBILITY */
.calculator-button-next {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
}

/* Ensure button is visible in all steps */
[data-calculator-view] .calculator-button-next {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* First step button specific styling */
[data-calculator-step="1"] .calculator-button-next {
    display: flex !important;
    margin-top: 20px;
}

/* Calculator step visibility */
[data-calculator-view] {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

/* Active step styling (visible step) */
[data-calculator-view]:not(.hidden) {
    opacity: 1 !important;
    visibility: visible !important;
    display: flex !important;
}

/* Hidden step styling (inactive steps) */
[data-calculator-view].hidden {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Calculator form styling */
[data-calculator-form] {
    position: relative;
}

/* Calculator radio option styling */
.calculator-radio {
    transition: all 0.3s ease;
}

.calculator-radio.active {
    background-color: #000 !important;
    border-color: #000 !important;
}

/* Calculator radio icon transition */
.calculator-radio > span:nth-child(1) > span:nth-child(1) {
    display: block;
    transition: all 0.3s;
}

.calculator-radio > span:nth-child(1) > span:nth-child(2) {
    display: none;
    transition: all 0.3s;
}

.calculator-radio.active > span:nth-child(1) > span:nth-child(2) {
    display: block;
}

.calculator-radio.active > span:nth-child(1) > span:nth-child(1) {
    display: none;
}

/* Calculator error message styling */
[data-calculator-error] {
    transition: all 0.3s ease;
}

[data-calculator-error]:not(.hidden) {
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Calculator title styling */
.calculator-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 1rem;
}

/* Calculator container */
.calculator {
    position: relative;
    z-index: 10;
}

/* Responsive styles for calculator */
@media (max-width: 768px) {
    .calculator-button-next {
        padding: 12px 20px !important;
    }
    
    .calculator-title {
        font-size: 1.125rem;
    }
}

/* Button hover effects */
.calculator-button-next:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1) !important;
}

/* Button focus state */
.calculator-button-next:focus {
    outline: 2px solid var(--e-global-color-09835fc);
    outline-offset: 2px;
}

/* Ensure button text is visible */
.calculator-button-next span {
    color: white !important;
    font-weight: 500;
}

/* Button icon styling */
.calculator-button-next svg {
    width: 20px;
    height: 20px;
    stroke: white;
}