.elementor-kit-11{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-11 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//*
  INSTRUCTIONS:
  Copy all the code in this file and paste it into your Elementor settings under:
  Elementor > Site Settings > Custom CSS
*/

/* --- Global Font Styles for A1 Saafa --- */

/* 1. Set the default font for all normal text on the site */
body, p, li, a, span {
    font-family: 'Inter', sans-serif;
}

/* 2. Set the modern font for all headings */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif;
}

/* ===== COMPREHENSIVE RESPONSIVE FIXES FOR ELEMENTOR PRO ===== */

/* Base Responsive Reset */
* {
    box-sizing: border-box;
}

/* Mobile First Responsive Design */
@media (max-width: 767px) {
    /* General Mobile Fixes */
    .elementor-section,
    .elementor-column,
    .elementor-widget {
        width: 100% !important;
    }
    
    /* Stack all columns vertically on mobile */
    .elementor-row {
        flex-direction: column !important;
    }
    
    .elementor-column {
        width: 100% !important;
        margin-bottom: 20px;
    }
    
    /* Typography for Mobile */
    .elementor-widget-heading h1,
    .elementor-widget-heading h1.elementor-heading-title {
        font-size: 32px !important;
        line-height: 1.2 !important;
    }
    
    .elementor-widget-heading h2,
    .elementor-widget-heading h2.elementor-heading-title {
        font-size: 28px !important;
        line-height: 1.3 !important;
    }
    
    .elementor-widget-heading h3,
    .elementor-widget-heading h3.elementor-heading-title {
        font-size: 24px !important;
        line-height: 1.3 !important;
    }
    
    .elementor-widget-text-editor,
    .elementor-widget-text-editor p {
        font-size: 16px !important;
        line-height: 1.5 !important;
    }
    
    /* Spacing for Mobile */
    .elementor-section {
        padding: 40px 15px !important;
    }
    
    .elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated {
        padding: 15px !important;
    }
    
    /* Buttons for Mobile */
    .elementor-button-wrapper,
    .elementor-widget-button {
        width: 100% !important;
    }
    
    .elementor-button {
        width: 100% !important;
        text-align: center;
        padding: 15px 20px !important;
        font-size: 16px !important;
    }
    
    /* Navigation Menu Mobile */
    .elementor-nav-menu {
        text-align: center !important;
    }
    
    .elementor-nav-menu--main .elementor-nav-menu {
        flex-direction: column;
    }
    
    /* Images Mobile */
    .elementor-widget-image img {
        width: 100% !important;
        height: auto !important;
    }
    
    /* Forms Mobile */
    .elementor-field-group {
        width: 100% !important;
    }
    
    .elementor-field-textual {
        width: 100% !important;
    }
    
    /* Hide unnecessary elements on mobile */
    .elementor-hidden-mobile {
        display: none !important;
    }
    
    /* Center align content on mobile */
    .elementor-widget-wrap {
        text-align: center !important;
    }
    
    /* Fix for sliders and carousels */
    .elementor-slider .swiper-slide {
        width: 100% !important;
    }
    
    /* Grid layouts for mobile */
    .elementor-grid {
        grid-template-columns: repeat(1, 1fr) !important;
    }
}

/* Tablet Responsive Design */
@media (min-width: 768px) and (max-width: 1024px) {
    /* Tablet General Fixes */
    .elementor-section {
        padding: 60px 20px !important;
    }
    
    /* Tablet Typography */
    .elementor-widget-heading h1,
    .elementor-widget-heading h1.elementor-heading-title {
        font-size: 42px !important;
    }
    
    .elementor-widget-heading h2,
    .elementor-widget-heading h2.elementor-heading-title {
        font-size: 36px !important;
    }
    
    .elementor-widget-heading h3,
    .elementor-widget-heading h3.elementor-heading-title {
        font-size: 28px !important;
    }
    
    .elementor-widget-text-editor,
    .elementor-widget-text-editor p {
        font-size: 17px !important;
    }
    
    /* Adjust 4-column layouts to 2-column on tablet */
    .elementor-column.elementor-col-25,
    .elementor-column[data-col="25"] {
        width: 50% !important;
    }
    
    /* Adjust 3-column layouts */
    .elementor-column.elementor-col-33,
    .elementor-column[data-col="33"] {
        width: 50% !important;
    }
    
    /* Buttons Tablet */
    .elementor-button {
        padding: 12px 30px !important;
        font-size: 16px !important;
    }
    
    /* Grid layouts for tablet */
    .elementor-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* Desktop Large Screens */
@media (min-width: 1440px) {
    .elementor-section.elementor-section-boxed > .elementor-container {
        max-width: 1400px !important;
    }
}

/* Specific Elementor Widget Responsive Fixes */

/* Image Carousel */
@media (max-width: 767px) {
    .elementor-image-carousel-wrapper .swiper-slide {
        width: 100% !important;
    }
}

/* Icon List */
@media (max-width: 767px) {
    .elementor-icon-list-items {
        flex-direction: column;
        align-items: center;
    }
    
    .elementor-icon-list-item {
        width: 100% !important;
        margin-bottom: 15px;
    }
}

/* Testimonials */
@media (max-width: 767px) {
    .elementor-testimonial-wrapper {
        text-align: center;
    }
    
    .elementor-testimonial-content {
        font-size: 16px !important;
    }
}

/* Pricing Tables */
@media (max-width: 767px) {
    .elementor-price-table {
        margin-bottom: 30px;
    }
}

/* Countdown Timer */
@media (max-width: 767px) {
    .elementor-countdown-item {
        min-width: 60px !important;
        padding: 10px !important;
    }
    
    .elementor-countdown-digits {
        font-size: 24px !important;
    }
}

/* Progress Bars */
@media (max-width: 767px) {
    .elementor-widget-progress {
        margin-bottom: 20px;
    }
}

/* Tabs and Accordions */
@media (max-width: 767px) {
    .elementor-tabs .elementor-tab-title {
        padding: 15px !important;
        font-size: 16px !important;
    }
    
    .elementor-accordion .elementor-accordion-item {
        margin-bottom: 10px;
    }
    
    .elementor-accordion-title {
        padding: 15px 20px !important;
        font-size: 16px !important;
    }
}

/* Social Icons */
@media (max-width: 767px) {
    .elementor-social-icons-wrapper {
        justify-content: center !important;
    }
}

/* Forms */
@media (max-width: 767px) {
    .elementor-field-group {
        width: 100% !important;
        margin-bottom: 15px;
    }
    
    .elementor-field-subgroup {
        flex-direction: column;
    }
    
    .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option,
    .elementor-field-type-radio .elementor-field-subgroup .elementor-field-option {
        width: 100% !important;
        margin-bottom: 10px;
    }
}

/* Google Maps */
@media (max-width: 767px) {
    .elementor-widget-google_maps iframe {
        height: 300px !important;
    }
}

/* Video Player */
@media (max-width: 767px) {
    .elementor-widget-video iframe {
        height: 250px !important;
    }
}

/* Animations Performance on Mobile */
@media (max-width: 767px) {
    .elementor-invisible {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* Print Styles */
@media print {
    .elementor-section {
        break-inside: avoid;
    }
    
    .elementor-button,
    .elementor-nav-menu {
        display: none !important;
    }
}

/* High DPI Screens */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .elementor-widget-image img {
        image-rendering: -webkit-optimize-contrast;
    }
}

/* Landscape Mobile */
@media (max-width: 767px) and (orientation: landscape) {
    .elementor-section {
        padding: 20px 15px !important;
    }
    
    .elementor-widget-heading h1 {
        font-size: 28px !important;
    }
}

/* Fix for Elementor Pro Specific Elements */

/* Theme Builder Elements */
@media (max-width: 767px) {
    .elementor-location-header,
    .elementor-location-footer {
        padding: 20px 15px !important;
    }
}

/* Popup Mobile Fixes */
@media (max-width: 767px) {
    .elementor-popup-modal .dialog-header {
        padding: 15px !important;
    }
    
    .elementor-popup-modal .dialog-message {
        padding: 20px !important;
    }
}

/* Ensure all images are responsive */
img {
    max-width: 100%;
    height: auto;
}

/* Fix for full width sections */
.elementor-section-stretched {
    left: 0 !important;
    right: 0 !important;
}

/* Loading optimization for mobile */
@media (max-width: 767px) {
    .elementor-invisible {
        transition: none !important;
    }
}/* End custom CSS */