.sgd-box-shadow{
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

/* --- SGD Process Section Styles --- */

.sgd-process-section {
    padding: 60px 20px;
    background-color: #f9f9f9; /* Light grey background */
    /* font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; */
}

.sgd-container {
    max-width: 1200px;
    margin: 0 auto;
}

.sgd-section-header {
    text-align: center;
    margin-bottom: 50px;
}

.sgd-section-header h2 {
    font-size: 2.5rem;
    color: #1a2b3c; /* Dark Navy */
    margin-bottom: 10px;
    font-weight: 700;
}

.sgd-section-header p {
    color: #666;
    font-size: 1.1rem;
}

/* Timeline Container */
.sgd-timeline {
    display: flex;
    justify-content: space-between;
    position: relative;
}

/* The Connecting Line (Desktop Only) */
.sgd-timeline::before {
    content: '';
    position: absolute;
    top: 40px; /* Align with center of icons */
    left: 50px;
    right: 50px;
    height: 4px;
    background: #e0e0e0;
    z-index: 0;
}

/* Individual Step */
.sgd-step {
    position: relative;
    z-index: 1;
    flex: 1;
    text-align: center;
    padding: 0 15px;
}

/* Icon Styles */
.sgd-icon-wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}

.sgd-icon {
    width: 80px;
    height: 80px;
    background: #ffffff;
    border: 4px solid #00b894; /* SGD Teal Color */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #1a2b3c;
    position: relative;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}

.sgd-step:hover .sgd-icon {
    transform: translateY(-5px);
    background: #00b894;
    color: #fff;
}

/* Step Number Badge */
.step-number {
    position: absolute;
    top: -5px;
    right: -5px;
    background: #1a2b3c;
    color: #fff;
    font-size: 12px;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}

/* Text Content */
.sgd-content h3 {
    font-size: 1.25rem;
    color: #1a2b3c;
    margin-bottom: 15px;
    font-weight: 600;
}

.sgd-content p {
    font-size: 0.95rem;
    color: #555;
    line-height: 1.6;
}

/* --- Responsive Mobile Styles --- */
@media (max-width: 768px) {
    .sgd-timeline {
        flex-direction: column;
    }

    .sgd-timeline::before {
        /* Switch line to vertical on mobile */
        width: 4px;
        height: 100%;
        top: 0;
        left: 40px; /* Aligns with icon center */
        right: auto;
    }

    .sgd-step {
        display: flex;
        text-align: left;
        margin-bottom: 40px;
        padding-left: 0;
    }

    .sgd-icon-wrapper {
        margin-bottom: 0;
        margin-right: 20px;
        flex-shrink: 0; /* Prevents icon from shrinking */
    }

    .sgd-icon {
        width: 60px; /* Smaller icons on mobile */
        height: 60px;
        font-size: 20px;
    }
    
    .sgd-timeline::before {
        left: 30px; /* Adjust line position for smaller icons */
    }
}

/* --- SGD Services Grid Styles --- */

.sgd-services-section {
    padding: 40px 20px;
    background-color: #ffffff;
    /* font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; */
}

.sgd-services-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2 Columns */
    gap: 30px; /* Space between cards */
    max-width: 1200px;
    margin: 0 auto;
}

/* Card Style */
.sgd-service-card {
    background: #fdfdfd;
    border: 1px solid #eee;
    border-radius: 12px; /* Smooth rounded corners */
    padding: 40px 30px;
    transition: all 0.3s ease; /* Smooth animation */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    overflow: hidden;
}

/* Hover Effect: Card lifts up and shadow grows */
.sgd-service-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.08);
    border-color: #00b894; /* Highlight border on hover */
}

/* Icon Styling */
.sgd-card-icon {
    font-size: 32px;
    color: #00b894; /* SGD Teal */
    margin-bottom: 20px;
    background: #e6f7f4; /* Light teal background bubble */
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
}

/* Typography */
.sgd-card-content h3 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1a2b3c; /* Dark Navy */
    margin-bottom: 15px;
    margin-top: 0;
}

.sgd-card-content p {
    font-size: 1rem;
    line-height: 1.6;
    color: #666;
    margin: 0;
}

/* --- Mobile Responsiveness --- */
@media (max-width: 768px) {
    .sgd-services-container {
        grid-template-columns: 1fr; /* Stack vertically on mobile */
    }
    
    .sgd-service-card {
        padding: 30px 20px;
    }
}

/* ==================================================
   1. FIX THE EXTRA SPACE (RED BOX FIX)
   ================================================== */
/* Control spacing strictly via the ROW, not the columns */
.forminator-row {
    margin-bottom: 10px !important; /* Reduces the gap between Name and Email */
    padding: 0 !important;
}

/* Remove default margins from columns to prevent double gaps */
.forminator-col {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* ==================================================
   2. FIX THE DROPDOWN (CONTACT REASON)
   ================================================== */
/* Target the select box to match Text Inputs exactly */
.forminator-ui select.forminator-select2, 
.forminator-ui .select2-container .select2-selection--single {
    background-color: #ffffff !important; /* Force White */
    border: 1px solid #e0e0e0 !important;
    border-radius: 6px !important;
    height: 48px !important; /* EXACT height match to text inputs */
    display: flex !important;
    align-items: center !important;
}

/* Fix the Text inside the dropdown */
.forminator-ui .select2-container .select2-selection--single .select2-selection__rendered {
    color: #333333 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 48px !important; /* Vertically center the text */
    padding-left: 15px !important;
}

/* Fix the Arrow (Positioning) */
.forminator-ui .select2-container .select2-selection--single .select2-selection__arrow {
    height: 48px !important;
    top: 0 !important;
    right: 20px !important;
    width: 20px !important;
}

/* ==================================================
   3. GENERAL STYLING (LABELS & INPUTS)
   ================================================== */
.forminator-label {
    font-weight: 700 !important;
    color: #1a2b3c !important;
    margin-bottom: 8px !important;
}

.forminator-input, .forminator-textarea {
    border: 1px solid #e0e0e0 !important;
    border-radius: 6px !important;
    padding: 0 15px !important; /* Horizontal padding only */
    height: 48px !important; /* Force all inputs to be 48px high */
    line-height: 48px !important;
}

.forminator-textarea {
    height: 120px !important; /* Allow message box to be taller */
    padding-top: 15px !important;
    line-height: 1.5 !important;
}

/* ==================================================
   4. THE SUBMIT BUTTON (Gradient)
   ================================================== */
.forminator-button-submit {
    background: linear-gradient(90deg, #74dd82 0%, #3ca0e6 100%) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    padding: 0 35px 0 55px !important;
    height: 50px !important;
    border: none !important;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(60, 160, 230, 0.3);
    position: relative;
    display: flex !important;
    align-items: center;
}

.forminator-button-submit:hover{
    background: linear-gradient(90deg, #3ca0e6 100%, #74dd82 0%) !important;
}

/* Envelope Icon */
.forminator-button-submit::before {
    content: '';
    position: absolute;
    left: 25px;
    width: 20px; 
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'%3E%3C/path%3E%3Cpolyline points='22,6 12,13 2,6'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}

/* --- OVERRIDE THEME RESET.CSS BORDERS --- */

/* We combine classes to make this rule 'stronger' than the theme */
.forminator-ui input.forminator-input,
.forminator-ui textarea.forminator-textarea,
.forminator-ui select.forminator-select {
    border: 1px solid #e0e0e0 !important; /* Force Light Grey */
    border-radius: 6px !important;        /* Force Rounded Corners */
    background-color: #ffffff !important; /* Force White Background */
    color: #333333 !important;
    width: 100% !important;
    box-shadow: none !important;          /* Remove any theme shadows */
}

/* Ensure Focus state still works (Green Border on click) */
.forminator-ui input.forminator-input:focus,
.forminator-ui textarea.forminator-textarea:focus,
.forminator-ui select.forminator-select:focus {
    border-color: #00b894 !important;     /* SGD Teal */
    box-shadow: 0 0 5px rgba(0, 184, 148, 0.2) !important;
}

/* --- FIX DROPDOWN TEXT VERTICAL ALIGNMENT --- */
.forminator-ui select.forminator-select {
    height: 48px !important;
    padding-top: 14px !important; 
    padding-bottom: 14px !important;
    padding-left: 15px !important; 
    line-height: normal !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23333%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E') !important;
    background-repeat: no-repeat !important;
    background-position: right 15px center !important;
    background-size: 10px !important;
}

/* --- HIDE TOP VALIDATION ERROR BOX --- */
.forminator-ui .forminator-response-message.forminator-error {
    display: none !important;
}

/* --- CHANGE ERROR MESSAGE TEXT COLOR --- */

/* 1. The text color of the error message below the field */
.forminator-ui .forminator-error-message {
    color: #ff5252 !important; /* Soft Light Red */
    font-weight: 500 !important;
    margin-top: 5px !important;
}

/* 2. Optional: Change the Input Border to match when there is an error */
.forminator-ui .forminator-has-error input,
.forminator-ui .forminator-has-error select,
.forminator-ui .forminator-has-error textarea {
    border-color: #ff5252 !important; /* Matches text color */
    box-shadow: 0 0 0 2px rgba(255, 82, 82, 0.1) !important; /* Subtle glow */
}

/* --- FIX PHONE FIELD (Flag Overlap & Spacing) --- */

/* 1. Push text to the right so it doesn't overlap the Flag */
.forminator-ui .intl-tel-input input.forminator-input {
    padding-left: 90px !important; /* Creates space for the flag */
}

/* 2. Ensure the Flag stays vertically centered */
.forminator-ui .intl-tel-input .flag-container {
    height: 46px !important; /* Matches input height minus borders */
    top: 1px !important;
    left: 1px !important;
    border-radius: 6px 0 0 6px !important;
}

/* 3. Fix the spacing below the Phone field (Where your arrow pointed) */
.forminator-ui .forminator-field--phone {
    margin-bottom: 20px !important; /* Adds gap before Email Address */
    display: block !important;
}

/* --- TRANSFORM "REGISTER NOW" LINK INTO A BUTTON --- */

/* 1. Target the specific link inside the Event Widget */
.tec-events-elementor-event-widget__website-link a {
    display: inline-block !important;
    
    /* Gradient Background (Green to Blue) */
    background: linear-gradient(90deg, #74dd82 0%, #3ca0e6 100%) !important;
    
    /* Text Styling */
    color: #ffffff !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important; /* Removes underline */
    text-transform: uppercase !important;
    
    /* Button Shape */
    padding: 10px 25px !important;
    border-radius: 6px !important;
    border: none !important;
    
    /* Shadow & Transition */
    box-shadow: 0 4px 10px rgba(60, 160, 230, 0.3);
    transition: all 0.3s ease;
    margin-top: 10px !important; /* Adds space above the button */
}

/* 2. Hover Effect (Lift up) */
.tec-events-elementor-event-widget__website-link a:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 15px rgba(60, 160, 230, 0.4);
    color: #ffffff !important; /* Ensures text stays white */
}

selector .swiper-wrapper {
    -webkit-transition-timing-function: linear !important;
    transition-timing-function: linear !important;
}