/*==================================
 1. Basic CSS Reset
 ==================================*/
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/*==================================
 2. CSS Variable Definitions (Colors)
 ==================================*/
:root {
    /* IBTIDA Creations Specific Colors */
    --ibtida-primary-color: #27666D; 
    --ibtida-navbar-bg: #FFFFFF; 
    --ibtida-secondary-color: #007bff; /* Standard secondary/highlight color */
    --ibtida-dark-blue: #033F63; /* New color for sticky icon */

    /* Generic Colors */
    --heading-color: #212529; 
    --body-text-color: #343a40; 
    --light-bg: #f8f9fa; 
    --dark-bg: #343a40; 
    --text-gray: #5C5A5A; /* Specific gray text color */
}

/*==================================
 3. Base Styles
 ==================================*/
body {
    font-family: 'Montserrat', sans-serif;
    color: var(--body-text-color); 
    background-color: var(--light-bg); 
    line-height: 1.6; 
    -webkit-font-smoothing: antialiased; 
}

a {
    text-decoration: none;
    color: var(--body-text-color); 
}

h1, h2, h3, h4, h5, h6 {
    color: var(--heading-color); 
    font-weight: 700; 
    margin-top: 0;
    margin-bottom: 0.5rem;
}

ul, ol {
    list-style: none;
    margin-bottom: 1rem;
    padding-left: 0; 
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}


/*==================================
 4. Custom Styles (Header Section)
 ==================================*/
.ibtida-header {
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 1020;
}

.logo-box {
    background-color: var(--ibtida-primary-color);
    height: 94px;
    width: 100%;
    display: flex;
    justify-content: center; 
    position: relative; 
}

.logo-box img {
    width: 80px;
    height: 52px;
    position: relative;
    top: 20px;
    max-height: 100%; 
    max-width: 100%;
}

.ibtida-toggler-pos {
    position: absolute;
    top: 21px; 
    right: 5%; 
    border: none;
    box-shadow: none !important;
    padding: 0.25rem 0.5rem;
}

.ibtida-toggler-pos .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgb(255, 255, 255)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

@media (min-width: 992px) {
    .ibtida-toggler-pos {
        display: none;
    }
}


.navbar-box {
    width: 100%; 
}

.navbar-box .nav-link {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400; 
    font-size: 15px;
    margin-top: 5px;
    margin-bottom: 5px;
    line-height: 1; 
    letter-spacing: 0;
    color: var(--ibtida-primary-color) !important;
    transition: color 0.2s ease, border-bottom 0.2s ease;
}

.navbar-nav .nav-item {
    padding: 0 1rem; 
}

.navbar-box .nav-link:hover,
.navbar-box .nav-link.active {
    color: var(--ibtida-secondary-color) !important; 
}


/*==================================
 5. Custom Styles (Home Section)
 ==================================*/

/* 5.1. HERO BOX (Box 1) */
.hero-section {
    width: 100%;
    height: 773px;
    background-image: url('../images/home.jpg');
    background-size: cover;
    background-position: center;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    position: relative; 
}

/* 5.2. ABOUT BOX (Box 2) */
#about-section {
    background-color: #F8F8F8;
    width: 80%; 
    margin: 60px auto; 
    padding: 60px 0; 
}

.about-text {
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400; 
    font-size: 20px;
    line-height: 1; 
    letter-spacing: 0;
    color: #5C5A5A;
    padding: 0 15px; 
    margin-bottom: 50px !important; 
}

.about-text span {
    font-weight: 600; 
}

/* OWL CAROUSEL STYLING (Multi-Item/Single-Shift) - FIXED NAVIGATION */
#ibtidaAboutCarousel {
    max-width: 1200px; 
    margin: 0 auto;
    padding: 0 0px; 
}

.about-image-box {
    height: 427px; 
    overflow: hidden;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25); 
}

.about-image-box img {
    width: 100%;
    height: 100%;
    object-fit: cover; 
    box-shadow: none; 
}

/* GLOBAL OWL CAROUSEL NAVIGATION STYLING */
.owl-theme .owl-nav {
    margin-top: 0; 
    text-align: center;
    position: absolute; 
    top: 0; 
    height: 100%; 
    width: 100%;
    display: block; 
}

.owl-theme .owl-nav [class*='owl-'] {
    background: transparent !important; 
    color: var(--ibtida-primary-color) !important; 
    font-size: 75px !important; 
    font-weight: 700; 
    margin: 0;
    padding: 0 10px; 
    display: block !important; 
    cursor: pointer;
    border-radius: 0;
    opacity: 1; 
    transition: color 0.3s ease;
    position: absolute !important; 
    top: 50% !important; 
    transform: translateY(-50%) !important; 
}

.owl-theme .owl-nav [class*='owl-']:hover {
    background: transparent !important;
    color: #033F63 !important; 
    text-decoration: none;
}

.owl-theme .owl-prev {
    left: 0px !important; 
    height: 85px; 
}

.owl-theme .owl-next {
    right: 0px !important; 
    height: 85px; 
}


/* 5.3. VISION BOX (Box 3) - MODIFIED FOR CAROUSEL */
#vision-section {
    background-color: #FFFFFF; 
    width: 80%; 
    margin: 0 auto; 
    padding: 60px 0; 
}

.vision-text {
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400; 
    font-size: 20px;
    line-height: 1; 
    letter-spacing: 0;
    color: #5C5A5A;
    margin: 0 auto 30px auto; 
    padding: 0 15px; 
    max-width: 1200px; 
}

.vision-image-row {
    margin-top: 50px; 
    max-width: 1200px; 
    width: 100%; 
    margin-left: auto;
    margin-right: auto;
    padding: 0 0px; 
    display: block; 
}

.vision-image-box {
    max-width: 569px; 
    width: 100%; 
    height: 307px; 
    overflow: hidden;
    margin: 0 auto; 
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25); 
}

.vision-image-box img {
    width: 100%;
    height: 100%;
    object-fit: cover; 
    box-shadow: none; 
}

#ibtidaVisionCarousel.owl-theme .owl-nav [class*='owl-'] {
    font-size: 35px !important; 
    height: 110px; 
    line-height: 1;
    text-indent: 0;
    overflow: visible;
}


/*==================================
 6. Custom Styles (Architecture & Interior Section)
 ==================================*/

/* 6.1. Section Wrapper (80% Width) */
.arch-interior-wrapper {
    width: 80%;
    margin: 0 auto;
    padding: 30px 0; 
    text-align: center; 
}

/* 6.2. Introductory Paragraph */
.arch-intro-text {
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: 400; 
    line-height: 1.5; 
    letter-spacing: 0;
    max-width: 70%;
    text-align: center;
    color: var(--body-text-color, #5C5A5A);
    margin: 0 auto 50px auto; 
}
.arch-intro-text span {
    font-weight: 600; 
}

/* 6.3. Promotional Services Box */
.arch-promo-box {
    width: 100%; 
    margin-top: 80px; 
    padding: 60px 20px; 
    background-color: #033F63; 
    color: #FFFFFF; 
    text-align: center;
}

.arch-promo-title {
    font-weight: 700; 
    font-size: 24px;
    line-height: 1; 
    text-transform: uppercase;
    color: #FFFFFF;
    margin-bottom: 20px;
}

.arch-promo-body {
    font-weight: 600; 
    font-size: 20px;
    line-height: 2; 
    color: #FFFFFF;
    text-align: center;
    margin-top: 0;
    margin-bottom: 0;
}

/* 6.4. Why Choose Us Info Box */
.arch-info-box {
    width: 100%; 
    height: 511px; 
    margin-top: 20px; 
    background-color: #F5F5F5; 
    text-align: center; 
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start; 
    padding-top: 20px; 
}

.info-box-header {
    font-weight: 600; 
    font-size: 20px;
    line-height: 1; 
    text-transform: uppercase;
    color: #27666D; 
    margin-top: 0;
    margin-bottom: 30px; 
}

.info-content-wrapper {
    display: flex;
    justify-content: center;
    align-items: center; 
    width: 80%; 
    max-width: 1200px; 
    gap: 30px;
}

.info-col {
    flex-basis: 0;
    flex-grow: 1;
    min-width: 300px; 
    display: flex;
    align-items: center; 
}

.info-image {
    width: 582px; 
    height: 314px; 
    object-fit: cover;
    display: block;
    max-width: 100%; 
}

.info-list-text {
    font-weight: 400; 
    font-size: 20px;
    line-height: 54px; 
    text-transform: capitalize;
    color: #797979; 
    margin: 0; 
    text-align: left; 
}


/*==================================
 7. Custom Styles (Services Section)
 ==================================*/

/* 7.1. 80% Wrapper */
.services-wrapper {
    width: 80%;
    margin: 0 auto;
    text-align: center; 
}

/* 7.2. OUR SERVICES Header */
.services-header {
    font-weight: 700;
    font-size: 24px;
    line-height: 1;
    letter-spacing: 0;
    color: #5C5A5A;
    text-transform: uppercase;
    margin-top: 50px;
    margin-bottom: 50px;
}

/* 7.3. Two-Column Row Layout (Base) */
.services-row {
    display: flex;
    justify-content: space-between;
    align-items: center; 
    min-height: 350px; 
    gap: 0px;
    flex-wrap: wrap; 
}

/* 7.4. Individual Columns (Equal Size) */
.services-col {
    flex-basis: 0;
    flex-grow: 1; 
    min-width: 300px; 
    display: flex;
    align-items: center; 
    justify-content: center; 
}

/* 7.4.1. Right Alignment for Text Column */
.services-col.services-right-align {
    justify-content: flex-end; 
}


/* 7.5. Inner Wrapper for Text Content */
.services-text-wrapper {
    width: 80%; 
    text-align: left; 
    margin-left: 0;
}

/* 7.5.1. Right Alignment for Wrapper Content */
.services-col.services-right-align .services-text-wrapper {
    text-align: right; 
    margin-left: auto; 
    margin-right: 0;
}

/* 7.6. Text Header (h3) */
.services-col-header {
    font-weight: 600;
    font-size: 20px;
    line-height: 1;
    color: #27666D; 
    margin-bottom: 15px;
}

/* 7.7. Body Text (p) */
.services-col-body {
    font-weight: 400;
    font-size: 20px;
    line-height: 1.5; 
    color: #5C5A5A;
}

/* 7.8. Image Styling */
.services-image {
    width: 100%;
    height:100%;
    object-fit: cover; 
    display: block;
    max-width: 100%; 
}

/*==================================
 8. Custom Styles (Contact Section)
 ==================================*/

#contact-section {
    padding: 0; 
    width: 100%; 
}

/* 8.1. Contact Banner Image */
.contact-banner-box {
    width: 80%;
    margin: 0 auto;
    overflow: hidden; 
}
.contact-banner-img {
    width: 100%; 
    height: 549px; 
    object-fit: cover; 
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25); 
    opacity: 1; 
    display: block;
}
#contact-section img {
    max-width: 100%; 
    width: 100%;    
}

/* --- 8.2. Contact Details Section (Two Columns) --- */
.contact-details-wrapper {
    width: 100%; 
    margin: 0 auto; 
    display: flex;
    justify-content: space-between; 
    gap: 30px; 
    padding: 0 15px; 
    margin-bottom: 50px; 
}
.contact-col {
    flex-grow: 1; 
    flex-basis: 0;
    min-height: 396px; 
    background-color: #F5F5F5;
    display: flex;
    flex-direction: column;
    justify-content: center; 
    align-items: center; 
    padding: 30px;
    text-align: center;
}
.contact-col-header {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600; 
    font-size: 20px;
    line-height: 1; 
    letter-spacing: 0;
    color: var(--ibtida-primary-color); 
    margin: 0; 
    margin-bottom: 10px; 
}
.contact-col-body {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 1; 
    letter-spacing: 0;
    color: #5C5A5A;
    text-align: center; 
    margin: 0; 
}


/* --- 8.3. Contact Intro Text Section ("Get In Touch") --- */
.contact-intro-wrapper {
    width: 100%; 
    margin: 0 auto; 
    padding: 30px 15px 0 15px; 
    text-align: center;
}
.contact-intro-header {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600; 
    font-size: 20px;
    line-height: 1;
    letter-spacing: 0;
    color: #27666D; 
    margin-top: 0;
    margin-bottom: 15px;
}
.contact-intro-body {
    width: 60%; 
    margin: 0 auto 50px auto; 
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: 0;
    color: #5C5A5A;
    text-align: center;
}

.contact-col-body a {
    color: inherit; /* Inherits the color from the surrounding text */
    text-decoration: none; /* Removes the underline */
}


/* --- 8.4. Contact Form Section --- */

.contact-form-outer {
    width: 100%; 
    background-color: var(--ibtida-primary-color); 
    padding: 50px 0; 
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 40px; 
}

.contact-form-inner {
    width: 80%; 
    background-color: #FFFFFF; 
    border-radius: 15px; 
    box-shadow: 0px 8px 20px rgba(0, 0, 0, 0.2); 
    padding: 40px; 
    overflow: hidden; 
}

/* Wrapper to apply the 60% layout shift logic (20% margin + 80% content width) */
.form-content-indent {
    margin-left: 20%; 
    width: 80%; 
    max-width: 100%; 
}

.ibtida-contact-form {
    display: flex;
    flex-direction: column;
    gap: 20px; 
}

.form-group {
    display: flex;
    align-items: center; 
}

.form-group.align-items-start {
    align-items: flex-start;
}

/* Styles for Form Labels - 30% width, text-align: left */
.form-group label {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600; 
    font-size: 20px; 
    line-height: 1; 
    letter-spacing: 0;
    color: var(--ibtida-primary-color); 
    background-color: transparent; 
    
    width: 30%; 
    flex-shrink: 0; 
    margin-right: 0; 
    text-align: left; 
    padding-right: 20px; 
}

/* Styles for Form Controls (Inputs/Textarea) - 70% width, height: 41px, font-size: 16px, padding: 0, border-radius: 0 */
.form-control {
    flex-grow: 0; 
    width: 70%; 
    max-width: 739px; 
    
    padding: 0; 
    
    border: 1px solid rgba(0, 0, 0, 0.17); 
    
    border-radius: 0; 
    font-family: 'Montserrat', sans-serif;
    font-size: 16px; 
    color: var(--body-text-color);
    box-shadow: none; 
    transition: border-color 0.3s ease;
}

/* Specific height for single-line inputs */
.form-group:not(.align-items-start) .form-control {
    height: 41px; 
}

.form-control[rows="4"] {
    min-height: 120px; 
    resize: vertical;
}

.ibtida-submit-btn {
    padding: 12px 30px;
    background-color: #64C2E9; 
    color: #FFFFFF;
    border: none;
    border-radius: 8px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    margin-left: 30%; 
}

.ibtida-submit-btn:hover {
    background-color: #4FB6E0; 
}


/*==================================
 9. Custom Styles (Footer Section)
 ==================================*/

/* 9.1. Main Footer Container */
#main-footer {
    width: 100%;
    background-color: transparent; 
    color: var(--body-text-color);
    padding: 0;
}

/* 9.2. Upper Info Box */
.footer-info-box {
    background-color: var(--ibtida-primary-color); 
    color: #FFFFFF;
    padding: 40px 0 20px 0;
}

.footer-80-wrapper {
    width: 80%;
    margin: 0 auto; 
    display: flex;
    justify-content: flex-start; 
    align-items: flex-start;
    gap: 30px; 
    flex-wrap: wrap; 
}

.footer-col-box {
    flex-basis: auto; 
    flex-grow: 0; 
    min-width: 250px; 
    text-align: left;
    padding-left: 15px;
    padding-right: 15px;
}

/* PUSHES THE THIRD COLUMN (Logo Box) TO THE RIGHT */
.footer-col-box:nth-child(3) {
    margin-left: auto; 
    min-width: 146px; 
    margin-top: 30px;
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    justify-content: center; 
    text-align: center; 
}

.footer-logo {
    width: 146px; 
    height: 96px; 
    object-fit: contain; 
}

.footer-logo-text {
    font-weight: 400; 
    font-size: 20px;
    line-height: 24px;
    letter-spacing: 0.53px;
    text-transform: uppercase;
    margin-bottom: 20px;
    text-align: left; 
}

.footer-logo-text span {
    font-weight: 700; 
}

.footer-contact-list {
    padding: 0;
    margin-bottom: 30px;
    text-align: left; 
}

.footer-contact-list li {
    margin-bottom: 8px;
}

.footer-contact-link {
    font-weight: 400;
    font-size: 14px;
    line-height: 22px; 
    color: #FFFFFF; 
    text-decoration: none;
    display: inline-block;
}

.footer-contact-link:hover {
    color: var(--ibtida-secondary-color, #CCCCCC); 
}

.footer-social-icons {
    display: flex;
    justify-content: flex-start; 
    align-items: center;
    gap: 30px; 
    padding: 0;
    margin: 0;
    list-style: none;
}

.footer-social-icon {
    width: 24px; 
    height: 24px; 
    object-fit: contain;
    display: block; 
}

.footer-nav-list {
    padding: 0;
    margin: 0;
    text-align: left; 
}

.footer-nav-list li {
    margin-bottom: 8px;
}

.footer-nav-list a {
    font-weight: 400;
    font-size: 15px;
    line-height: 1; 
    color: #FFFFFF;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-nav-list a:hover {
    color: var(--ibtida-secondary-color, #CCCCCC); 
}


/* 9.3. Lower Copyright Bar */
.footer-copyright-bar {
    height: 46px;
    background-color: #033F63; 
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer-copyright-bar p {
    color: #FFFFFF;
    font-size: 14px;
    margin: 0; 
    text-align: center;
}


/*==================================
 15. Custom Styles (blogSection)
 ==================================*/

/* 15.0. Main H1 Wrapper */
.blog-h1-wrapper {
    /* Constrains the content to 80% width and centers it */
    width: 80%; 
    margin: 40px auto 20px auto; 
    text-align: center;
}

/* 15.0. Main H1 Header Styles */
.blog-main-header {
    /* Font Styles */
    font-family: 'Montserrat', sans-serif;
    font-weight: 700; /* Bold */
    font-size: 24px;
    line-height: 1; /* 100% line-height */
    letter-spacing: 0; /* 0% letter-spacing */
    text-transform: uppercase;
    
    /* Color */
    color: #5C5A5A;
    
    /* Reset margins for the header element */
    margin: 0;
    text-align: center;
}

/* 15.01. New Paragraph Wrapper (Revised Margin) */
.blog-paragraph-wrapper {
    /* To contain the 80% width paragraph and provide vertical spacing */
    width: 100%;
    margin: 30px auto; /* 30px margin top/bottom */
    text-align: center;
}

/* 15.02. New Introductory Paragraph Styles */
.blog-intro-paragraph {
    /* Constrained to 80% width and centered */
    width: 80%;
    margin: 0 auto;
    
    /* Font Styles */
    font-family: 'Montserrat', sans-serif;
    font-weight: 400; /* Regular */
    font-size: 20px;
    line-height: 1.5; 
    letter-spacing: 0; 
    
    /* Color */
    color: #5C5A5A; 
    
    text-align: center;
}


/* 15.1. Blog Section Wrapper (Used for the first intro text block) */
.blog-section-wrapper {
    /* Constrains the content to 80% width and centers it */
    width: 80%; 
    margin: 0 auto;
    text-align: center;
    padding: 20px 0; 
}

/* 15.2. Intro Text Styles (First paragraph) */
.blog-intro-text {
    width: 100%; 
    margin-top: 20px; 
    margin-bottom: 20px; 
    
    /* Font Styles */
    font-family: 'Montserrat', sans-serif;
    font-weight: 600; /* SemiBold */
    font-size: 20px;
    line-height: 1; /* 100% line-height */
    letter-spacing: 0; /* 0% letter-spacing */
    
    /* Color */
    color: #27666D; 
    
    text-align: center; 
}

/* 15.3. Blog Content Container (Full width background block) */
.blog-content-container {
    background: #F5F5F5;
    width: 100%;
    padding: 40px 0;
    margin-bottom: 40px; 
}

/* 15.4. Blog Content Wrapper (Inner wrapper, used mainly for structure) */
.blog-content-wrapper {
    width: 100%;
    margin: 0 auto;
    text-align: center; 
}

/* 15.5. Blog Content Text (Second paragraph) */
.blog-content-text {
    /* Constrained to 80% width and centered within the full-width background container */
    width: 80%;
    margin: 0 auto; 
    
    /* Font Styles */
    font-family: 'Montserrat', sans-serif;
    font-weight: 500; /* Medium */
    font-size: 20px;
    line-height: 1.5; 
    letter-spacing: 0; 
    
    /* Color */
    color: #5C5A5A;
    
    text-align: center;
}

/* 15.6. Blog Benefit Section (Wrapper for H2 and list items) */
.blog-benefit-section {
    width: 80%;
    margin: 0 auto 40px auto; 
    /* MODIFIED: Removed box-shadow */
    box-shadow: none; 
}

/* 15.7. Benefit Header (H2: Who Can Benefit...) */
.blog-benefit-header {
    /* Color: Text color is #27666D, Background is transparent */
    background: transparent; 
    color: #27666D; 
    
    /* Font Styles */
    font-family: 'Montserrat', sans-serif;
    font-weight: 600; /* SemiBold */
    font-size: 20px;
    line-height: 1.5; 
    letter-spacing: 0;
    /* MODIFIED: Aligned left */
    text-align: left;
    text-transform: uppercase;
    
    padding: 15px 0px; 
    margin: 0;
}

/* 15.8. Benefit List Item (P tags styled as list items) */
.blog-benefit-list-item {
    /* Color: Text color is #5C5A5A, Background is transparent */
    background: transparent;
    color: #5C5A5A;
    
    /* Font Styles */
    font-family: 'Montserrat', sans-serif;
    font-weight: 400; /* Regular */
    font-size: 20px;
    line-height: 1.5; 
    letter-spacing: 0;
    
    padding: 15px 0px; 
    margin: 0; 
    text-align: left; 
    
    /* MODIFIED: Removed border */
    border-bottom: none; 
}

/* Last item adjustment (redundant, but keeping the rule for safety) */
.blog-benefit-section > .blog-benefit-list-item:last-of-type {
    border-bottom: none;
}

/* 15.9. Span Styles (Applied to the title/role within the list item) */
.blog-benefit-list-item-span {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500; /* Medium */
    font-size: 20px;
    line-height: 1; /* 100% line-height */
    letter-spacing: 0; 
    /* The color is inherited from the parent .blog-benefit-list-item */
}


/* 15.10. Two-Column Layout (Text + Image) - 50/50 */

/* Main wrapper for the two-column block */
.blog-two-col-section {
    width: 80%;
    margin: 40px auto; /* Top/Bottom margin for spacing */
    display: flex; /* Enable flexbox for side-by-side columns */
    gap: 30px; /* Space between the text and the image */
    align-items: flex-start; /* Align columns to the top */
}

/* Column for Text Content (Left Side - 50%) */
.blog-text-column {
    flex: 1 1 50%; /* Takes up 50% of the available space */
    padding-right: 15px; 
}

/* Column for Image (Right Side - 50%) */
.blog-img-column {
    flex: 1 1 50%; /* Takes up 50% of the available space */
    height: auto;
}

/* H2 Styles within the two-column section (Left Side) */
.blog-two-col-header {
    /* Color */
    color:#27666D;
    
    /* Font Styles */
    font-family: 'Montserrat', sans-serif;
    font-weight: 600; /* SemiBold */
    font-size: 20px;
    line-height: 1; 
    letter-spacing: 0;
    
    margin-top: 0; 
    margin-bottom: 20px;
    text-align: left;
}

/* P Styles within the two-column section (Left Side) */
.blog-two-col-paragraph {
    /* Color */
    color: #5C5A5A;
    
    /* Font Styles */
    font-family: 'Montserrat', sans-serif;
    font-weight: 400; /* Regular */
    font-size: 20px;
    line-height: 1.5; 
    letter-spacing: 0;
    
    margin-bottom: 20px;
    text-align: left;
}

/* Image Styles */
.blog-two-col-image {
    width: 100%;
    height: auto; 
    display: block;
    border-radius: 8px; 
    object-fit: cover;
}


/* --- 15.11. Why Matters Section (Full-Width Background) --- */

/* Full-width container with background color */
.blog-why-matters-container {
    background: #F5F5F5;
    width: 100%;
    padding: 40px 0; /* Add vertical padding */
    margin-bottom: 40px; /* Space below the block */
}

/* Inner wrapper for 80% content width */
.blog-why-matters-wrapper {
    width: 80%;
    margin: 0 auto;
    text-align: left; /* Content should align left */
}

/* 15.12. H2 Header Styles */
.blog-why-matters-header {
    /* Color */
    color: #27666D;
    
    /* Font Styles */
    font-family: 'Montserrat', sans-serif;
    font-weight: 600; /* SemiBold */
    font-size: 20px;
    line-height: 1; 
    letter-spacing: 0;
    
    margin-top: 0;
    margin-bottom: 30px; 
    text-align: left;
}

/* 15.13. Paragraph/List Item Styles */
.blog-why-matters-paragraph {
    /* Color */
    color: #5C5A5A;
    
    /* Font Styles */
    font-family: 'Montserrat', sans-serif;
    font-weight: 400; /* Regular */
    font-size: 20px;
    line-height: 1.5; 
    letter-spacing: 0;
    
    margin-bottom: 20px;
    text-align: left;
}

/* 15.14. Span Styles for Numbered Titles (e.g., "1. Showcasing Design Excellence") */
.blog-why-matters-span {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500; /* Medium */
    font-size: 20px;
    line-height: 1; /* 100% line-height */
    letter-spacing: 0; 
    display: inline-block;
}


/* --- 15.15. Techniques Section (Asymmetrical Two-Column) --- */

/* Full-width container (No specific background requested, assuming white/transparent) */
.blog-techniques-container {
    width: 100%;
    padding: 40px 0; /* Add vertical padding */
    margin-bottom: 40px; 
}

/* Inner wrapper for 80% content width and flex layout */
.blog-techniques-wrapper {
    width: 80%;
    margin: 0 auto;
    display: flex;
    gap: 30px; /* Space between the text and the image */
    align-items: flex-start; 
}

/* 15.16. Left Column: Text (70% width) - REVISED WIDTH */
.blog-techniques-text-column {
    flex: 0 0 70%; /* Fixed 70% width */
    padding-right: 15px; 
}

/* 15.17. Right Column: Image (30% width) - REVISED WIDTH */
.blog-techniques-img-column {
    flex: 0 0 30%; /* Fixed 30% width */
    height: auto;
}

/* Responsive adjustment for small screens (Stacks vertically) */
@media (max-width: 768px) {
    .blog-two-col-section,
    .blog-techniques-wrapper {
        flex-direction: column; /* Stack columns vertically on smaller screens */
        gap: 20px;
    }
    .blog-text-column, .blog-img-column,
    .blog-techniques-text-column, .blog-techniques-img-column {
        flex: 1 1 100%; /* Each takes full width */
        padding-right: 0;
    }
}

/* 15.18. H2 Header Styles */
.blog-techniques-header {
    /* Color */
    color: #27666D;
    
    /* Font Styles */
    font-family: 'Montserrat', sans-serif;
    font-weight: 600; /* SemiBold */
    font-size: 20px;
    line-height: 1; 
    letter-spacing: 0;
    
    margin-top: 0;
    margin-bottom: 20px; 
    text-align: left;
}

/* 15.19. Paragraph Styles (Intro and List Items) */
.blog-techniques-intro-paragraph,
.blog-techniques-list-item {
    /* Color */
    color: #5C5A5A;
    
    /* Font Styles */
    font-family: 'Montserrat', sans-serif;
    font-weight: 400; /* Regular */
    font-size: 20px;
    line-height: 1.5; 
    letter-spacing: 0;
    
    margin-bottom: 20px;
    text-align: left;
}

/* 15.20. Span Styles for Technique Titles */
.blog-techniques-list-span {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500; /* Medium */
    font-size: 20px;
    line-height: 1; 
    letter-spacing: 0; 
    display: inline-block;
}

/* 15.21. Image Style */
.blog-techniques-image {
    width: 100%;
    height: auto; 
    display: block;
    border-radius: 8px;
    object-fit: cover;
}

/*==================================
 16. Sticky Contact Icons
 ==================================*/

/* --- BASE STYLES for Both Icons (Shared Appearance) --- */
#sticky-call-icon,
#sticky-email-link {
    /* Positioning & Layering */
    position: fixed;
    bottom: 20px; 
    right: 20px; 
    z-index: 1050; 

    /* Colors, Size, and Shape */
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: var(--ibtida-dark-blue); /* #033F63 */
    color: #FFFFFF; /* White Icon Color */
    text-decoration: none; 

    /* Alignment & Interaction */
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4); 
    white-space: nowrap; 
    transition: all 0.3s ease;
}

/* --- MOBILE & TABLET STYLES (Call Icon Visible, Email Hidden) --- */

/* Call Icon: Always visible and blinking by default (Mobile-first) */
#sticky-call-icon {
    animation: blink 1.5s infinite alternate; 
    display: flex; /* Ensure it is visible */
}

/* Email Link: Hidden by default (Mobile/Tablet) */
#sticky-email-link {
    display: none; 
}



/* Style for the actual icon elements */
#sticky-call-icon .fa-phone,
#sticky-email-link .fa-envelope {
    font-size: 24px;
}

/* Keyframe Animation for Blinking */
@keyframes blink {
    0% {
        opacity: 0.8; 
        transform: scale(1);
    }
    50% {
        opacity: 1; 
        transform: scale(1.05);
    }
    100% {
        opacity: 0.8; 
        transform: scale(1);
    }
}


/*==================================
   DESKTOP STYLES (Min-width: 992px)
   ================================== */
@media (min-width: 992px) {
    
    /* 1. HIDE THE MOBILE CALL ICON ON DESKTOP */
    #sticky-call-icon {
        display: none !important; /* Hide it */
        animation: none !important; /* Stop the animation */
    }

    /* 2. SHOW AND STYLE THE DESKTOP EMAIL LINK */
    #sticky-email-link {
        display: flex !important; /* Make email link visible */
        
        /* Apply the blinking animation to the email link on desktop */
        animation: blink 1.5s infinite alternate; 

        /* New desktop pill shape styling */
        width: auto; 
        height: 60px; 
        border-radius: 30px; /* Pill shape */
        padding: 0 20px; 
        justify-content: flex-start;
    }
    
    /* Hover effect for the desktop email link */
    #sticky-email-link:hover {
        animation: none; /* Stop the blink on hover */
        background-color: #045281; 
    }
}

/*==================================
 10. Responsive Adjustments (Media Queries)
 ==================================*/

@media (max-width: 992px) {
    /* Owl Carousel arrows adjust to smaller screen */
    .owl-theme .owl-prev {
        left: 0px !important; 
    }
    .owl-theme .owl-next {
        right: 0px !important; 
    }
    
    /* Architecture Info Box height adjustment */
    .arch-info-box {
        height: auto; 
        padding-bottom: 30px;
    }
    
    /* Architecture Info Text/Image Columns stacking */
    .info-content-wrapper {
        flex-direction: column;
    }
    .info-col {
        min-width: 100%;
        text-align: center;
        justify-content: center;
    }
    .info-list-text {
        text-align: center;
        line-height: 40px; 
    }

    /* Services Columns stacking */
    .services-row {
        flex-direction: column;
        min-height: auto;
        margin-bottom: 30px;
    }
    .services-col {
        min-width: 100%;
    }
    .services-col.services-right-align {
        justify-content: center; 
    }
    .services-col.services-right-align .services-text-wrapper,
    .services-text-wrapper {
        margin: 0 auto; 
        text-align: center; 
    }
    
    /* MODIFIED: Force the image column to be the first item (order: -1) in all rows on mobile */
    .services-img-col {
        order: -1; 
        margin-bottom: 20px;
    }
    
    /* Contact Section adjustments */
    .contact-banner-img {
        height: 400px;
    }
    .contact-details-wrapper {
        flex-direction: column;
        gap: 20px;
        padding: 0 15px; 
    }
    .contact-col {
        min-height: 200px; 
    }
    .contact-intro-body {
        width: 80%; 
        font-size: 18px; 
    }
    
    /* Form Layout Reset for Mobile (992px and below) */
    .contact-form-inner {
        width: 90%; 
        padding: 30px;
    }
    .form-content-indent {
        margin-left: 0;
        width: 100%;
    }
    .form-group {
        flex-direction: column;
        align-items: flex-start;
    }
    
    /* Label adjustment on mobile */
    .form-group label {
        width: 100%; 
        text-align: left;
        padding-right: 0;
        margin-right: 0;
        margin-bottom: 5px;
        font-size: 18px; 
    }
    
    /* Control adjustment on mobile */
    .form-control {
        width: 100%; 
        max-width: 100%; 
    }
    
    .ibtida-submit-btn {
        margin-left: 0; 
    }
    
    .form-group .justify-content-end > div {
        display: none !important;
    }
    .form-group.justify-content-end {
        justify-content: center; 
        align-items: center;
    }

    /* Footer Layout */
    .footer-80-wrapper {
        justify-content: center;
    }
    .footer-col-box {
        min-width: 100%;
        text-align: center;
        padding: 10px 0;
    }
    .footer-col-box:nth-child(3) {
        margin-left: 0;
        margin-top: 10px;
        order: -1; 
    }
    .footer-contact-list,
    .footer-social-icons,
    .footer-nav-list {
        justify-content: center;
        text-align: center;
    }
    .footer-col-box .footer-logo-text
    {
        display: none;
    }
}

@media (max-width: 768px) {
    .about-image-box {
        height: 300px;
    }
    
    .vision-image-box {
        max-width: 100%; 
        height: 250px;
    }
    
    .contact-banner-img {
        height: 300px; 
    }
    
    /* Blog Section stacking for Two-Column layouts */
    .blog-two-col-section,
    .blog-techniques-wrapper {
        flex-direction: column; /* Stack columns vertically on smaller screens */
        gap: 20px;
    }
    .blog-text-column, .blog-img-column,
    .blog-techniques-text-column, .blog-techniques-img-column {
        flex: 1 1 100%; /* Each takes full width */
        padding-right: 0;
    }
}

@media (max-width: 576px) {
    .about-image-box {
        height: 250px; 
    }
    
    .contact-banner-img {
        height: 250px; 
    }
    .contact-intro-body {
        width: 90%; 
    }
    .contact-form-inner {
        padding: 20px;
    }
}