/* Import Fonts for the main design */
    @import url('https://fonts.googleapis.com/css2?family=Amiri:wght@400;700&family=Playfair+Display:wght@400;700&family=Roboto:wght@300;400;500&display=swap');

    /* Main Container */
    .nm-card-flow {
        font-family: 'Roboto', sans-serif;
        background-color: #ffffff;
        background-image: radial-gradient(#d0d0d0 1px, transparent 1px);
        background-size: 15px 15px;
        max-width: 980px;
        margin: 40px auto;
        box-shadow: 0 5px 20px rgba(0,0,0,0.08);
        border: 1px solid #eaeaea;
        overflow: hidden; /* Clears floats */
        position: relative;
        padding-top: 20px;
    }

    /* --- FLOATING IMAGES --- */
    /* Placed first in HTML so text flows around them */
    
    

    .nm-img-right {
        float: right;
        width: 240px; /* Fixed width for doctor space */
        text-align: right;
        margin-left: 15px; /* Push text away slightly */
        margin-right: 15px;
        z-index: 5;
        position: relative;
        margin-bottom: -5px;
    }
    .nm-img-right img {
        width: 100%;
        height: auto;
    }

    /* --- TEXT LINES (Flowing in center) --- */
    /* We simply center the text. Because of the floats on L/R, 
       it will naturally sandwich itself in the middle space. */
    
    .nm-line {
        text-align: center;
        clear: none; /* Do not drop below images */
        margin: 0 auto;
        position: relative;
        z-index: 4;
    }

    /* Specific Text Styling */
    .c-gold { color: #bd7b2d; }
    
    .nm-name-fr {
        font-family: 'Playfair Display', serif;
        font-size: 25px;
        font-weight: 700;
        margin-top: 10px;
        margin-bottom: 5px;
        line-height: 1.2;
    }
    .nm-title-fr {
        font-family: 'Playfair Display', serif;
        font-size: 24px;
        color: #bd7b2d;
        margin-bottom: 15px;
    }

    .nm-name-ar {
        font-family: 'Amiri', serif;
        font-size: 36px;
        font-weight: 700;
        line-height: 1.2;
        margin-bottom: 0;
    }
    .nm-title-ar {
        font-family: 'Amiri', serif;
        font-size: 28px;
        margin-bottom: 20px;
    }

    .nm-body-ar {
        font-family: 'Amiri', serif;
        font-size: 20px;
        color: #555;
        line-height: 1.6;
        margin-bottom: 20px;
        text-align: right;
            padding-right: 10px;
            padding-left: 10px;
            text-indent: 10px;
    }

    /* French Body: Keeps left alignment but block is centered */
    .nm-body-fr-wrapper {
        text-align: left; /* Center the block itself */
        margin-bottom: 20px;
    }
    .nm-body-fr-content {
        /* display: inline-block; */
        text-align: left; /* Text inside is left aligned */
        font-family: "Times New Roman", Times, serif;
        font-size: 22px;
        color: #555;
        line-height: 1.5;
        padding-left: 20px;
    }
    .nm-indent { padding-left: 20px; }

    /* --- FOOTER GRAPHIC --- */
    .nm-footer-bar {
        clear: both; /* Ensure it sits below everything */
        width: 100%;
        height: 70px; /* Taller to fit text */
        background-image: url('../assets/images/footer_shape.png');
        background-size: 100% 100%;
        background-repeat: no-repeat;
        position: relative;
        margin-top: 10px;
    }

    /* Contact Text Overlay */
    .nm-contact-text {
        position: absolute;
        /* CONTAIN-INTRINSIC-BLOCK-SIZE: AUTO 100PX; */
        left: 10px;
        top: 50%;
        transform: translateY(-50%);
        /* text-align: right; */
        /* color: #000000; */
        font-family: serif;
        font-size: 16px;
        font-weight: bold;
        line-height: 1.3;
    }
    .nm-contact-text span { display: block; }

    /* --- MOBILE RESPONSIVE --- */
    @media (max-width: 800px) {
        
        .nm-img-right img { max-width: 220px; }
        
        /* Footer adjustments for mobile */
        .nm-footer-bar {
            background-size: cover;
            height: auto;
            min-height: 80px;
        }
        .nm-contact-text {
            position: relative;
            right: auto;
            top: auto;
            transform: none;
            text-align: center;
            padding: 25px 10px;
            color: black;
        }

        @media (max-width: 550px) {
        
            .nm-img-right { 
                margin: auto; 
                float: unset;
            }
        }
    }