/* ==========================
   HEADER
========================== */
/* Dropdown Menu */
html,
body{
    width:100%;
    overflow-x:hidden;
    margin:0;
    padding:0;
}
 /* ==========================
   HEADER
========================== */

/* HAMBURGER */

.menu-toggle{
    display:none;
    font-size:30px;
    color:#6f0d52;
    cursor:pointer;
}

/* MOBILE */

@media (min-width:320px) and (max-width:768px){

    .main-header .container{
        display:flex;
        justify-content:space-between;
        align-items:center;
        position:relative;
    }

    .menu-toggle{
        display:block;
    }

    .navbar{
        position:absolute;
        top:100%;
        left:0;
        width:100%;
        background:#ffffff;
        display:none;
        box-shadow:0 10px 20px rgba(0,0,0,0.1);
        z-index:999;
    }

    .navbar.active{
        display:block;
    }

    .navbar ul{
        display:flex;
        flex-direction:column;
        gap:0;
        margin:0;
        padding:0;
    }

    .navbar ul li{
        width:100%;
        border-bottom:1px solid #eee;
    }

    .navbar ul li a{
        display:block;
        padding:15px 20px;
        font-size:16px;
    }

    /* Dropdown */

    .navbar ul li ul{
        position:static;
        transform:none;
        width:100%;
        box-shadow:none;
        display:none;
    }

    .navbar ul li:hover ul{
        display:block;
    }

}
/* Dropdown Menu */

.navbar ul li{
    position:relative;
}

.navbar ul li ul{
    position:absolute;
    top:100%;
    left:50%;
    transform:translateX(-50%);

    width:380px;
    background:#f4e8ef;

    padding:0;
    margin:0;
    list-style:none;

    box-shadow:0 10px 30px rgba(0,0,0,.08);
    display:none;
    z-index:999;
}

.navbar ul li:hover ul{
    display:block;
}

.navbar ul li ul li{
    width:100%;
    border-bottom:1px solid #e6d7df;
}

.navbar ul li ul li:last-child{
    border-bottom:none;
}

.navbar ul li ul li a{
    display:block;
    padding:20px 30px;
    font-size:16px;
    font-weight:500;
    color:#222;
    text-align:left;
    line-height:1.4;
}

.navbar ul li ul li a:hover{
    background:#730c52;
    color:#ffffff;
}


.navbar ul li a{
    font-size:18px;
}

.navbar ul li a .arrow{
    font-size:12px;
}

.tulips-header{
    width:100%;
    font-family:'Poppins',sans-serif;
}

/* ==========================
   TOP BAR
========================== */

.top-bar{
    background:#6f0d52;
    color:#fff;
    padding:14px 0;
}

.container{
    width:100%;
    max-width:1600px;
    margin:auto;
    padding:0 20px;
}

.top-bar .container{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.top-left,
.top-right{
    display:flex;
    align-items:center;
    gap:25px;
    margin-right: 60px;

}

.top-left a,
.top-right a{
    color:#fff;
    text-decoration:none;
    font-size:16px;
}

.top-left span,
.top-right span{
    font-size:16px;
}

/* ==========================
   MAIN HEADER
========================== */

.main-header{
    background:#fff;
    padding:18px 0;
    box-shadow:0 2px 10px rgba(0,0,0,0.04);
}

.main-header .container{
    display:flex;
    justify-content:space-around;
    align-items:center;
}

.logo img{
    max-width:280px;
    height:auto;
}

/* ==========================
   NAVIGATION
========================== */

.navbar ul{
    display:flex;
    align-items:center;
    gap:28px;
    list-style:none;
    /* margin-right:53px; */
    padding:0;
}

.navbar ul li a{
    text-decoration:none;
    color:#000;
    font-size:16px;
    font-weight:lighter;
    transition:.3s;
}

.navbar ul li a:hover{
    color:#6f0d52;
}

/* ==========================
   RESPONSIVE
========================== */

@media(max-width:1200px){

    .navbar ul{
        gap:16px;
    }

    .navbar ul li a{
        font-size:15px;
    }
}

@media(max-width:991px){

    .top-bar .container,
    .main-header .container{
        flex-direction:column;
        gap:15px;
    }

    .navbar ul{
        flex-wrap:wrap;
        justify-content:center;
    }

    .logo img{
        max-width:220px;
    }
}


/* @media(max-width:768px){

    .top-left,
    .top-right{
        flex-direction:column;
        gap:8px;
        text-align:center;
    }

    .navbar ul{
        gap:15px;
    }

    .navbar ul li a{
        font-size:14px;
    }

    .container{
        padding:0 20px;
    }
} */


@media(max-width:768px){

    .navbar ul{
        gap:15px;
    }

    .navbar ul li a{
        font-size:14px;
    }

    .container{
        padding:0 20px;
    }
}
@media (min-width:320px) and (max-width:767px){

    
    .top-bar .container{
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;
    }

    .top-left,
    .top-right{
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        text-align:center !important;
        gap:10px !important;
        margin-right:0 !important;
    }

    .top-left a,
    .top-left span,
    .top-right a,
    .top-right span{
        display:block;
        width:100%;
    }

@media (min-width:320px) and (max-width:768px){

    .main-header .container{
        display:flex;
        flex-direction:row !important;
        justify-content:normal;
        align-items:center;
    }

    .logo{
        width:auto;
    }

    .logo img{
        max-width:180px;
    }

    .menu-toggle{
        display:block;
        font-size:34px;
        color:#6f0d52;
        cursor:pointer;
    }

    .navbar{
        position:absolute;
        top:100%;
        left:0;
        width:100%;
        display:none;
        background:#fff;
        z-index:999;
    }

    .navbar.active{
        display:block;
    }

}
    /* .main-header .container{
        flex-direction:column;
    } */

    .navbar ul{
        gap:15px;
    }

    .navbar ul li a{
        font-size:14px;
    }

    .container{
        padding:0 20px;
    }
}

/* ===========================
   HERO APPOINTMENT SECTION
=========================== */

.gyno-hero{
    position:relative;
    background-image:url("images/tulips-hospital-banner-1.png");
    background-position:center center;
    background-size:cover;
    background-repeat:no-repeat;
    background-attachment:scroll;
    padding:80px 0;
    min-height:520px;
    display:flex;
    align-items:center;
}

@media (max-width:991px){

    .gyno-hero{
        background-image:url("images/tulips-hospital-banner-1.png");
        padding:40px 15px;
        min-height:520px;
    }

    .gyno-container{
        flex-direction:column;
        gap:40px;
    }

    .gyno-content,
    .gyno-form-wrap{
        width:100%;
    }

}

.gyno-container{
    position:relative;
    z-index:1;
    max-width:1400px;
    margin:auto;
    /* padding:0px 30px 0px 0px; */

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:80px;
}

.gyno-content{
    width:40%;
}

.gyno-content h1{
    color:#fff;
    font-size:58px;
    line-height:1.15;
    font-weight:700;
    margin-bottom:40px;
}

.appointment-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:20px;

    background:#fff;
    color:#730c52;
    text-decoration:none;

    padding:18px 45px;
    border-radius:50px;
    font-size:18px;
    font-weight:600;

    transition:.4s;
}

.appointment-btn:hover{
    transform:translateY(-5px);
}

.appointment-btn span{
    font-size:30px;
}

/* FORM */

.gyno-form-wrap {
    width: 45%;
    background: #ffffff;
    padding: 40px;
    border-radius: 16px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);
    border: 1px solid rgba(111, 13, 82, 0.08);
}

.form-header {
    text-align: center;
    margin-bottom: 25px;
}

.form-header h3 {
    font-size: 24px;
    color: #6f0d52;
    margin: 0 0 8px 0;
    font-weight: 700;
    font-family: 'Poppins', sans-serif;
}

.form-header p {
    font-size: 14px;
    color: #666;
    margin: 0;
    line-height: 1.4;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

.gyno-form input,
.gyno-form textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #d2c5cd;
    outline: none;
    background: #fdfbfd;
    padding: 15px 18px;
    font-size: 16px;
    color: #333;
    border-radius: 8px;
    font-family: 'Poppins', sans-serif;
    transition: border-color 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}

.gyno-form input::placeholder,
.gyno-form textarea::placeholder {
    color: #999;
}

.gyno-form input:focus,
.gyno-form textarea:focus {
    border-color: #6f0d52;
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(111, 13, 82, 0.15);
}

.gyno-form textarea {
    height: 140px;
    resize: none;
    margin-bottom: 25px;
}

.gyno-form button {
    width: 100%;
    border: none;
    cursor: pointer;
    background: #6f0d52;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    padding: 16px;
    border-radius: 8px;
    transition: all 0.25s ease;
    font-family: 'Poppins', sans-serif;
    box-shadow: 0 4px 12px rgba(111, 13, 82, 0.15);
}

.gyno-form button:hover {
    background: #590a42;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(111, 13, 82, 0.25);
}

.gyno-form button:active {
    transform: translateY(0);
    box-shadow: 0 4px 12px rgba(111, 13, 82, 0.15);
}

/* ===========================
   TABLET
=========================== */

@media(max-width:1024px){

    .gyno-container{
        gap:40px;
    }

    .gyno-content h1{
        font-size:48px;
    }

    .appointment-btn{
        font-size:18px;
    }
}

/* ===========================
   MOBILE
=========================== */

@media(max-width:768px){

    .gyno-container{
        flex-direction:column;
        gap: 30px;
    }

    .gyno-content,
    .gyno-form-wrap{
        width:100%;
    }

    .gyno-form-wrap {
        padding: 30px 20px;
        border-radius: 12px;
    }

    .gyno-content{
        text-align:center;
    }

    .gyno-content h1{
        font-size:38px;
    }

    .form-row{
        grid-template-columns:1fr;
        gap: 15px;
    }

    .gyno-form input,
    .gyno-form textarea{
        font-size:16px;
        padding: 12px 15px;
    }

    .appointment-btn{
        font-size:18px;
        padding:15px 30px;
    }
}

/* ==========================
   WOMEN HEALTH SECTION
========================== */

.women-health-section{
    padding:40px 0;
    background:#ffffff;
    text-align:justify;
}

.wh-container{
    max-width:1400px;
    margin:auto;
    padding:0 30px;

    display:flex;
    align-items:center;
    gap:70px;
}

.wh-image{
    flex:1;
    position:relative;
}

.wh-image img{
    width:100%;
    display:block;
    border-radius:25px;
    object-fit:cover;

    box-shadow:
    0 20px 50px rgba(0,0,0,0.08);
}

.wh-content{
    flex:1;
}

.wh-tag{
    display:inline-block;
    padding:8px 18px;
    background:#f7edf5;
    color:#7a1658;
    border-radius:50px;
    font-size:14px;
    font-weight:600;
    margin-bottom:20px;
}

.wh-content h2{
    font-size:52px;
    line-height:1.15;
    font-weight:700;
    color:#7a1658;
    margin-bottom:25px;
}

.wh-content p{
    font-size:20px;
    line-height:1.9;
    color:#444;
    margin-bottom:25px;
}

.wh-btn{
    display:inline-block;
    padding:15px 35px;
    background:#7a1658;
    color:#fff;
    text-decoration:none;
    border-radius:50px;
    font-weight:600;
    transition:0.4s ease;
}

.wh-btn:hover{
    transform:translateY(-4px);
    box-shadow:0 15px 30px rgba(122,22,88,0.25);
}

/* ==========================
   TABLET
========================== */

@media (max-width:1024px){

    .wh-container{
        gap:40px;
    }

    .wh-content h2{
        font-size:42px;
    }

    .wh-content p{
        font-size:18px;
    }
}

/* ==========================
   MOBILE
========================== */

@media (max-width:768px){

    .wh-container{
        flex-direction:column;
        gap:35px;
    }

    .wh-content{
                text-align:justify;

    }

    .wh-content h2{
        font-size:34px;
    }

    .wh-content p{
        font-size:16px;
        line-height:1.8;
        text-align:justify;

    }

    .women-health-section{
        padding:70px 0;
    }
}

.gyn-services::before{
    content:'';
    position:absolute;
    width:400px;
    height:400px;
    top:-180px;
    left:-120px;
    border-radius:50%;
    background:rgba(213,74,164,.08);
    filter:blur(80px);
}

.gyn-services::after{
    content:'';
    position:absolute;
    width:400px;
    height:400px;
    bottom:-180px;
    right:-120px;
    border-radius:50%;
    background:rgba(255,160,190,.08);
    filter:blur(80px);
}

/* ===========================
   GYNECOLOGY SERVICES SECTION
=========================== */

.gyn-services{
    padding-top:100px;
    padding-bottom:100px;
    background:linear-gradient(180deg,#fff 0%,#faf7fc 100%);
    position:relative;
    overflow:hidden;
}

.gyn-services .container{
    max-width:100% ;
    width:100% !important;
    padding:0 20px;
}

/* ===========================
   SECTION HEADING
=========================== */

.section-heading{
    text-align:center;
    margin-bottom:60px;
}

.section-heading span{
    display:inline-block;
    font-size:13px;
    font-weight:700;
    letter-spacing:4px;
    text-transform:uppercase;
    color:#d54aa4;
    margin-bottom:15px;
}

.section-heading h2{
    font-size:clamp(40px,5vw,70px);
    line-height:1.1;
    font-weight:700;
    color:#5b0c63;
    margin:0;
}

.section-heading p{
    margin-top:10px;
    font-size:28px;
    font-style:italic;
    color:#d54aa4;
    font-weight:500;
}

/* ===========================
   GRID
=========================== */

.services-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

/* ===========================
   CARD
=========================== */

.service-card{
    position:relative;
    background:#fff;
    border-radius:30px;
    padding:35px;
    min-height:300px;
    overflow:hidden;

    border:1px solid rgba(128,0,128,.08);

    box-shadow:
    0 10px 35px rgba(0,0,0,.05),
    0 2px 8px rgba(0,0,0,.03);

    transition:.45s ease;
}

.service-card::before{
    content:'';
    position:absolute;
    top:-100px;
    right:-100px;
    width:220px;
    height:220px;
    background:radial-gradient(
        circle,
        rgba(213,74,164,.15),
        transparent 70%
    );
    transition:.5s;
}

.service-card:hover{
    transform:translateY(-10px);
    box-shadow:
    0 25px 60px rgba(127,0,127,.18),
    0 10px 20px rgba(0,0,0,.08);
}

.service-card:hover::before{
    transform:scale(1.4);
}

/* ===========================
   FEATURED CARD
=========================== */

.service-card.featured{
    background:
    linear-gradient(
    135deg,
    #d10a9f 0%,
    #8a0070 45%,
    #5f0055 100%);
}

.service-card.featured h3,
.service-card.featured p{
    color:#fff;
}

/* ===========================
   ICON
=========================== */

.service-icon{
    width:82px;
    height:82px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;

    background:#f7ebf7;
    margin-bottom:25px;

    transition:.4s ease;
}

.service-icon i{
    font-size:34px;
    color:#7d136f;
    transition:.4s ease;
}

.service-card:hover .service-icon{
    transform:rotate(8deg) scale(1.08);
}

.service-card.featured .service-icon{
    background:rgba(255,255,255,.15);
    backdrop-filter:blur(12px);
}

.service-card.featured .service-icon i{
    color:#fff;
}

/* ===========================
   TITLE
=========================== */

.service-card h3{
    font-size:32px;
    line-height:1.25;
    color:#5d0c61;
    margin-bottom:18px;
    font-weight:700;
}

/* ===========================
   TEXT
=========================== */

.service-card p{
    font-size:16px;
    line-height:1.9;
    color:#555;
    margin-bottom:30px;
    text-align: justify;
}

/* ===========================
   BUTTON
=========================== */

.service-btn{
    width:50px;
    height:50px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;

    background:#7d136f;
    color:#fff;

    transition:.35s ease;
}

.service-btn i{
    transition:.35s ease;
}

.service-btn:hover{
    transform:translateX(5px);
}

.service-btn:hover i{
    transform:translateX(3px);
}

.service-card.featured .service-btn{
    background:#fff;
    color:#7d136f;
}

/* ===========================
   FEATURE BAR
=========================== */

.features-bar{
    margin-top:50px;

    background:#fff;
    border-radius:24px;
    padding:28px 20px;

    display:grid;
    grid-template-columns:repeat(5,1fr);

    box-shadow:
    0 8px 30px rgba(0,0,0,.05);

    border:1px solid rgba(128,0,128,.08);
}

.feature-item{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;

    font-size:16px;
    font-weight:600;
    color:#333;
}

.feature-item i{
    font-size:28px;
    color:#8a0070;
}

/* ===========================
   HOVER GLOW
=========================== */

.service-card:hover .service-icon{
    box-shadow:
    0 10px 25px rgba(213,74,164,.25);
}

/* ===========================
   FADE ANIMATION
=========================== */

.service-card{
    animation:fadeUp .8s ease forwards;
}

@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(40px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* ===========================
   RESPONSIVE
=========================== */

@media(max-width:1200px){

    .services-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .features-bar{
        grid-template-columns:repeat(2,1fr);
        gap:20px;
    }
}

@media(max-width:768px){

    .gyn-services{
        padding:70px 0;
    }

    .services-grid{
        grid-template-columns:1fr;
    }

    .service-card{
        padding:30px;
        min-height:auto;
    }

    .service-card h3{
        font-size:26px;
    }

    .features-bar{
        grid-template-columns:1fr;
    }

    .feature-item{
        justify-content:flex-start;
    }

    .section-heading h2{
        font-size:42px;
    }

    .section-heading p{
        font-size:22px;
    }
}

/* ===========================
   FULL WIDTH FIX
=========================== */

/* .gyn-services{
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    padding:80px 0;
} */

    .gyn-services{
    width:100%;
    max-width:100%;
    margin:0;
    padding:40px 0;
    overflow:hidden;
    box-sizing:border-box;
}

/* .gyn-services .container{
    max-width:1600px !important;
    width:100% !important;
    padding:0 30px !important;
    margin:0 auto !important;
} */

    .gyn-services .container{
    max-width:1600px;
    width:100%;
    margin:0 auto;
    padding:0 20px;
    box-sizing:border-box;
}

/* ===========================
   HEADING GAP REDUCE
=========================== */

.section-heading{
    margin-bottom:35px;
}

/* ===========================
   GRID GAP REDUCE
=========================== */

/* .services-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
} */

    .services-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
    width:100%;
}

/* ===========================
   CARD HEIGHT REDUCE
=========================== */

/* .service-card{
    padding:25px;
    min-height:250px;
} */

    .service-card{
    width:100%;
    min-width:0;
    box-sizing:border-box;
}

/* ===========================
   ICON REDUCE
=========================== */

.service-icon{
    width:68px;
    height:68px;
    margin-bottom:18px;
}

.service-icon i{
    font-size:28px;
}

/* ===========================
   TITLE REDUCE
=========================== */

.service-card h3{
    font-size:26px;
    line-height:1.3;
    margin-bottom:12px;
}

/* ===========================
   CONTENT
=========================== */

.service-card p{
    font-size:15px;
    line-height:1.7;
    text-align:justify;
    margin-bottom:18px;
}

/* ===========================
   BUTTON
=========================== */

.service-btn{
    width:42px;
    height:42px;
}

/* ===========================
   RESPONSIVE
=========================== */

@media(max-width:1200px){

    .services-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media (max-width:768px){

    .gyn-services{
        padding:60px 15px;
    }

    .gyn-services .container{
        padding:0;
    }

    .services-grid{
        grid-template-columns:1fr;
        gap:15px;
    }

    .service-card{
        width:100%;
        overflow:hidden;
    }
}

/* ===================================
   PREMIUM INFO CARDS
=================================== */
.gyn-info-section{
padding: 25px 22px;
}


.conditions-card,
.diagnostic-card,
.treatment-card,
.gyn-info-card{

    position:relative;
    background:rgba(255,255,255,.75);
    backdrop-filter:blur(14px);

    border-radius:32px;
    padding:40px;

    border:1px solid rgba(213,74,164,.12);

    box-shadow:
    0 10px 30px rgba(0,0,0,.04),
    0 20px 60px rgba(213,74,164,.08);

    overflow:hidden;
    transition:.45s ease;
}

/* TOP GRADIENT BAR */

.conditions-card::before,
.diagnostic-card::before,
.treatment-card::before,
.gyn-info-card::before{

    content:'';
    position:absolute;
    left:0;
    top:0;

    width:100%;
    height:6px;

    background:linear-gradient(
        90deg,
        #d54aa4,
        #7b146d
    );
}

/* HOVER */

.conditions-card:hover,
.diagnostic-card:hover,
.treatment-card:hover,
.gyn-info-card:hover{

    transform:translateY(-12px);

    box-shadow:
    0 25px 60px rgba(123,20,109,.15),
    0 12px 25px rgba(0,0,0,.06);
}

/* FLOATING GLOW */

.conditions-card::after,
.diagnostic-card::after,
.treatment-card::after,
.gyn-info-card::after{

    content:'';
    position:absolute;

    width:180px;
    height:180px;

    top:-80px;
    right:-80px;

    border-radius:50%;

    background:
    radial-gradient(
        circle,
        rgba(213,74,164,.12),
        transparent 70%
    );

    transition:.5s ease;
}

.conditions-card:hover::after,
.diagnostic-card:hover::after,
.treatment-card:hover::after,
.gyn-info-card:hover::after{
    transform:scale(1.4);
}

/* TITLE */

.conditions-card h3,
.diagnostic-card h3,
.treatment-card h3,
.gyn-info-card h3{

    font-size:32px;
    line-height:1.15;
    color:#6b0f64;

    margin-bottom:28px;
    font-weight:700;

    text-align:center;
}

/* LIST */

.conditions-card ul,
.diagnostic-card ul,
.treatment-card ul,
.gyn-info-card ul{

    margin:0;
    padding:0;
    list-style:none;
}

/* LIST ITEM */

.conditions-card li,
.diagnostic-card li,
.treatment-card li,
.gyn-info-card li{

    position:relative;

    padding-left:34px;
    margin-bottom:18px;

    font-size:16px;
    line-height:1.6;
    color:#333;
}

/* CUSTOM BULLET */

.conditions-card li::before,
.diagnostic-card li::before,
.treatment-card li::before,
.gyn-info-card li::before{

    content:'';
    position:absolute;

    left:0;
    top:11px;

    width:10px;
    height:10px;

    border-radius:50%;

    background:#a1177f;

    box-shadow:
    0 0 0 6px rgba(161,23,127,.10);
}

/* GRID */

.gyn-info-grid{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

/* RESPONSIVE */

@media(max-width:1024px){

    .gyn-info-grid{
        grid-template-columns:1fr;
    }

    .conditions-card h3,
    .diagnostic-card h3,
    .treatment-card h3,
    .gyn-info-card h3{
        font-size:32px;
    }

    .conditions-card li,
    .diagnostic-card li,
    .treatment-card li,
    .gyn-info-card li{
        font-size:18px;
    }
}

/* ==========================
   BULLET PULSE ANIMATION
========================== */

.conditions-card li::before,
.diagnostic-card li::before,
.treatment-card li::before,
.gyn-info-card li::before{

    content:'';
    position:absolute;

    left:0;
    top:11px;

    width:10px;
    height:10px;

    border-radius:50%;

    background:#a1177f;

    box-shadow:
    0 0 0 0 rgba(161,23,127,.5);

    animation:pulseBullet 2s infinite;
}

/* PULSE EFFECT */

@keyframes pulseBullet{

    0%{
        transform:scale(1);
        box-shadow:
        0 0 0 0 rgba(161,23,127,.45),
        0 0 8px rgba(161,23,127,.5);
        opacity:1;
    }

    50%{
        transform:scale(1.4);
        box-shadow:
        0 0 0 10px rgba(161,23,127,0),
        0 0 18px rgba(213,74,164,.9);
        opacity:.8;
    }

    100%{
        transform:scale(1);
        box-shadow:
        0 0 0 0 rgba(161,23,127,0),
        0 0 8px rgba(161,23,127,.5);
        opacity:1;
    }
}

/* ===================================
   PREVENTIVE CARE PREMIUM SECTION
=================================== */

.preventive-care-section{
    padding:40px 0;
    background:linear-gradient(180deg,#fff,#faf7fc);
}

.preventive-wrapper{
    max-width:1400px;
    margin:auto;
    padding:0 20px;

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}

/* IMAGE */

.preventive-image{
    position:relative;
    overflow:hidden;
    border-radius:30px;
}

.preventive-image img{
    width:100%;
    display:block;
    border-radius:30px;
    transition:.8s ease;
}

.preventive-image:hover img{
    transform:scale(1.08);
}

/* CONTENT */

.care-tag{
    display:inline-block;
    padding:10px 18px;
    border-radius:50px;

    background:#fde9f5;
    color:#a3167d;

    font-size:14px;
    font-weight:600;
    margin-bottom:20px;
}

.preventive-content h2{
    font-size:58px;
    color:#6b0f64;
    margin-bottom:35px;
    line-height:1.1;
}

/* TIMELINE ITEMS */

.measure-item{
    position:relative;

    display:flex;
    gap:20px;

    padding:22px;
    margin-bottom:18px;

    background:#fff;
    border-radius:20px;

    border:1px solid rgba(213,74,164,.12);

    box-shadow:
    0 10px 25px rgba(0,0,0,.04);

    transition:.4s ease;

    animation:fadeUp .8s ease forwards;
}

.measure-item:hover{
    transform:translateX(12px);

    box-shadow:
    0 15px 35px rgba(213,74,164,.18);
}

/* STEP NUMBER */

.step-no{
    min-width:58px;
    height:58px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
    linear-gradient(
        135deg,
        #d54aa4,
        #7a126b
    );

    color:#fff;
    font-weight:700;
    font-size:18px;

    box-shadow:
    0 8px 18px rgba(213,74,164,.3);

    animation:pulseStep 2.5s infinite;
}

.measure-item p{
    margin:0;
    font-size:18px;
    line-height:1.7;
    color:#333;
}

/* ANIMATION */

@keyframes pulseStep{

    0%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.08);
    }

    100%{
        transform:scale(1);
    }
}

@keyframes fadeUp{

    from{
        opacity:0;
        transform:translateY(30px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* RESPONSIVE */

@media(max-width:991px){

    .preventive-wrapper{
        grid-template-columns:1fr;
    }

    .preventive-content h2{
        font-size:42px;
    }
}

/* =====================================
   EXPERT GYNECOLOGISTS INTRO SECTION
===================================== */

.expert-gyn-section{
    position:relative;
    padding:40px 40px;
    text-align:center;
    overflow:hidden;

    background:
    linear-gradient(
        135deg,
        #ffffff 0%,
        #fdf5fb 40%,
        #faf2f8 100%
    );
}

/* FLOATING BACKGROUND GLOWS */

.expert-gyn-section::before{
    content:'';
    position:absolute;

    width:500px;
    height:500px;

    top:-220px;
    left:-180px;

    border-radius:50%;

    background:
    radial-gradient(
        circle,
        rgba(213,74,164,.15),
        transparent 70%
    );

    animation:floatGlow 8s ease-in-out infinite;
}

.expert-gyn-section::after{
    content:'';
    position:absolute;

    width:450px;
    height:450px;

    right:-150px;
    bottom:-180px;

    border-radius:50%;

    background:
    radial-gradient(
        circle,
        rgba(123,20,109,.12),
        transparent 70%
    );

    animation:floatGlowReverse 10s ease-in-out infinite;
}

/* HEADING */

.expert-gyn-section h2{
    position:relative;
    z-index:2;

    font-size:clamp(32px,5vw,52px);
    line-height:1.1;

    color:#6b0f64;

    margin-bottom:35px;

    animation:fadeUp .8s ease;
}

/* PREMIUM UNDERLINE */

.expert-gyn-section h2::after{
    content:'';

    display:block;

    width:120px;
    height:5px;

    margin:20px auto 0;

    border-radius:20px;

    background:
    linear-gradient(
        90deg,
        #d54aa4,
        #7b146d
    );
}

/* CONTENT BOX */

.expert-gyn-content{
    position:relative;
    z-index:2;

    max-width:1200px;
    margin:auto;

    padding:40px 50px;

    background:
    rgba(255,255,255,.65);

    backdrop-filter:blur(16px);

    border-radius:30px;

    border:1px solid rgba(213,74,164,.12);

    box-shadow:
    0 15px 40px rgba(0,0,0,.05);

    animation:fadeUp 1s ease;
}

.expert-gyn-content p{
    font-size:16px;
    line-height:2;
    color:#333;
    margin:0;
}

/* HIGHLIGHT WORDS */

.expert-gyn-content strong{
    color:#a1177f;
}

/* ANIMATIONS */

@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(40px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes floatGlow{
    0%,100%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(30px);
    }
}

@keyframes floatGlowReverse{
    0%,100%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-30px);
    }
}

/* RESPONSIVE */

@media(max-width:768px){

    .expert-gyn-section{
        padding:40px 20px;
    }

    .expert-gyn-content{
        padding:25px;
    }

    .expert-gyn-content p{
        font-size:18px;
        line-height:1.8;
    }
}

/* ============================
   PREMIUM DOCTOR CARD
============================ */

.doctor-premium{
    padding:80px 10px;
    background:
    radial-gradient(circle at top left,
    rgba(213,74,164,.08),
    transparent 40%),
    linear-gradient(180deg,#fff,#faf5fa);
}

/* CARD */

.doctor-card-premium{
    max-width:1200px;
    margin:auto;

    display:grid;
    grid-template-columns:340px 1fr;
    gap:50px;

    background:
    linear-gradient(
    135deg,
    #ffffff,
    #fcf6fb
    );

    border-radius:35px;
    padding:35px;

    position:relative;
    overflow:hidden;

    box-shadow:
    0 25px 60px rgba(0,0,0,.08);

    transition:.5s;
}

.doctor-card-premium:hover{
    transform:translateY(-10px);
}

/* GLOW BORDER */

.doctor-card-premium::before{
    content:'';
    position:absolute;
    inset:0;

    padding:2px;

    background:
    linear-gradient(
    135deg,
    #d54aa4,
    #7a126b,
    #d54aa4);

    border-radius:35px;

    -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);

    -webkit-mask-composite:xor;
}

/* IMAGE */

.doctor-photo{
    position:relative;
}

.doctor-photo img{
    width:100%;
    border-radius:25px;
    display:block;

    transition:.6s ease;
}

.doctor-card-premium:hover img{
    transform:scale(1.05);
}

/* EXPERIENCE */

.exp-badge{
    position:absolute;
    bottom:15px;
    left:15px;

    background:#fff;
    padding:12px 18px;

    border-radius:50px;

    font-weight:700;
    color:#7a126b;

    box-shadow:
    0 10px 25px rgba(0,0,0,.12);

    animation:pulseBadge 2s infinite;
}

/* INFO */

.doctor-tag{
    display:inline-block;

    padding:8px 16px;

    background:#fde9f6;
    color:#a1177f;

    border-radius:40px;

    font-size:13px;
    font-weight:700;
    letter-spacing:1px;
}

.doctor-info h2{
    font-size:56px;
    color:#6b0f64;
    margin:15px 0 10px;
}

.doctor-info h4{
    color:#b51b8c;
    font-size:26px;
    margin-bottom:20px;
}

.doctor-info p{
    font-size:18px;
    line-height:1.8;
    color:#444;
    max-width:700px;
}

/* BUTTONS */

.doctor-actions{
    margin-top:35px;
    display:flex;
    gap:20px;
}

.btn-outline,
.btn-primary{
    text-decoration:none;
    padding:16px 32px;
    border-radius:50px;
    font-weight:700;
    transition:.4s;
}

.btn-outline{
    background:#fff;
    color:#7a126b;
    border:2px solid #d54aa4;
}

.btn-primary{
    background:
    linear-gradient(
    135deg,
    #d54aa4,
    #7a126b);
    color:#fff;
}

.btn-outline:hover,
.btn-primary:hover{
    transform:translateY(-4px);
}

/* ANIMATION */

@keyframes pulseBadge{

    0%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.08);
    }

    100%{
        transform:scale(1);
    }
}

/* MOBILE */

@media(max-width:991px){

    .doctor-card-premium{
        grid-template-columns:1fr;
    }

    .doctor-info h2{
        font-size:38px;
    }

    .doctor-info h4{
        font-size:20px;
    }

    .doctor-actions{
        flex-direction:column;
    }
}

.faq-section{
    margin-top:-26px;
    position:relative;
}

.faq-section::before{
    content:"";
    position:absolute;
    inset:0;
    
}

.faq-container{
    position:relative;
    z-index:2;
    max-width:1200px;
    margin:auto;
    padding:0 20px;
}
.faq-title{
    text-align:center;
    font-size:48px;
    font-weight:700;
    color:#6f0d52;
    margin-bottom:50px;
}

.faq-item{
    margin-bottom:18px;
    border-radius:10px;
    overflow:hidden;
}

.faq-question{
    width:100%;
    border:none;
    cursor:pointer;

    background:#6f0d52;
    color:#fff;

    padding:24px 30px;

    display:flex;
    justify-content:space-between;
    align-items:center;

    font-size:24px;
    font-weight:600;
    text-align:left;
}

.faq-question span{
    font-size:36px;
    line-height:1;
}

.faq-answer{
    max-height:0;
    overflow:hidden;

    background:#f0dfe8;

    transition:max-height .4s ease;
}

.faq-answer p{
    margin:0;
    padding:25px 30px;
    font-size:18px;
    line-height:1.8;
    color:#333;
}

.faq-item.active .faq-answer{
    max-height:250px;
}

/* MOBILE */

@media(max-width:768px){

    .faq-title{
        font-size:34px;
    }

    .faq-question{
        font-size:18px;
        padding:18px 20px;
    }

    .faq-answer p{
        font-size:16px;
    }
}

/* ==================================
   PREMIUM CTA SECTION
================================== */

.premium-cta{
    position:relative;
    padding:80px 30px;
    overflow:hidden;

    background:
    linear-gradient(
    135deg,
    #fff,
    #faf4fa 45%,
    #fff 100%);
}

/* GLOW BACKGROUND */

.cta-glow{
    position:absolute;
    border-radius:50%;
    filter:blur(90px);
}

.glow-left{
    width:350px;
    height:350px;

    left:-120px;
    top:-100px;

    background:
    rgba(213,74,164,.15);

    animation:floatGlow 8s ease-in-out infinite;
}

.glow-right{
    width:400px;
    height:400px;

    right:-150px;
    bottom:-150px;

    background:
    rgba(123,20,109,.12);

    animation:floatGlowReverse 10s ease-in-out infinite;
}

/* CARD */

.premium-cta-inner{

    position:relative;
    z-index:2;

    max-width:1200px;
    margin:auto;

    padding:70px 60px;

    text-align:center;

    background:
    rgba(255,255,255,.75);

    backdrop-filter:blur(18px);

    border-radius:40px;

    border:1px solid rgba(213,74,164,.12);

    box-shadow:
    0 25px 60px rgba(0,0,0,.05);

    animation:fadeUp 1s ease;
}

/* TOP TAG */

.cta-tag{

    display:inline-block;

    padding:10px 20px;

    border-radius:50px;

    background:#fdeaf6;

    color:#a1177f;

    font-size:14px;
    font-weight:700;

    margin-bottom:20px;

    letter-spacing:1px;
}

/* HEADING */

.premium-cta-inner h2{

    font-size:clamp(42px,5vw,72px);

    line-height:1.1;

    color:#6b0f64;

    margin-bottom:25px;
}

/* TEXT */

.premium-cta-inner p{

    max-width:900px;

    margin:auto;

    font-size:20px;

    line-height:1.9;

    color:#444;
}

/* BUTTON */

.premium-cta-btn{

    display:inline-flex;

    align-items:center;
    justify-content:center;

    margin-top:40px;

    padding:18px 45px;

    border-radius:60px;

    text-decoration:none;

    color:#ffffff;

    font-size:18px;
    font-weight:700;

    background:
    linear-gradient(
    135deg,
    #d54aa4,
    #7a126b);

    box-shadow:
    0 15px 35px rgba(122,18,107,.25);

    transition:.4s ease;
}
.premium-cta-btn{
    transition:
    background .4s ease,
    transform .4s ease,
    box-shadow .4s ease;
}

.premium-cta-btn:hover{
    background:#fff;
    color:#651347 !important;
    border:2px solid #651347;

    transform:
    translateY(-6px)
    scale(1.03);

    box-shadow:
    0 20px 45px rgba(101,19,71,.20);
}
/* ANIMATION */

@keyframes fadeUp{

    from{
        opacity:0;
        transform:translateY(40px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes floatGlow{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(25px);
    }
}

@keyframes floatGlowReverse{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-25px);
    }
}

/* MOBILE */

@media(max-width:768px){

    .premium-cta{
        padding:80px 20px;
    }

    .premium-cta-inner{
        padding:40px 25px;
    }

    .premium-cta-inner p{
        font-size:17px;
    }

}

/* ==========================
   FOOTER
========================== */

.tulips-footer{
    background:#f4f4f4;
    padding:90px 0 50px;
}

.footer-container{
    max-width:1600px;
    margin:auto;
    padding:0 40px;

    display:grid;
    grid-template-columns:
    1.4fr
    0.8fr
    0.8fr
    0.9fr
    1.2fr;

    gap:50px;
}

.footer-logo{
    width:320px;
    max-width:100%;
    margin-bottom:25px;
}

.footer-about p{
    font-size:18px;
    line-height:2;
    color:#222;
}

.footer-col h3{
    color:#6f0d52;
    font-size:28px;
    font-weight:700;
    margin-bottom:30px;
    position:relative;
}

.footer-col h3::after{
    content:"";
    width:35px;
    height:4px;
    background:#6f0d52;
    position:absolute;
    left:0;
    bottom:-12px;
}

.footer-col ul{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-col ul li{
    margin-bottom:18px;
}

.footer-col ul li a{
    text-decoration:none;
    color:#222;
    font-size:18px;
    transition:.3s;
}

.footer-col ul li a:hover{
    color:#6f0d52;
    padding-left:5px;
}

.contact-list li{
    font-size:18px;
    color:#222;
}

.social-icons{
    display:flex;
    gap:18px;
    margin-top:40px;
}

.social-icons a{
    width:56px;
    height:56px;
    border-radius:50%;
    background:#6f0d52;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#fff;
    font-size:24px;
    text-decoration:none;

    transition:.3s;
}

.social-icons a:hover{
    transform:translateY(-5px);
}

.footer-map iframe{
    width:100%;
    height:268px;
    border:none;
}

/* ==========================
   TABLET
========================== */

@media(max-width:1200px){

    .footer-container{
        grid-template-columns:repeat(2,1fr);
    }

    .footer-map{
        grid-column:span 2;
    }
}

/* ==========================
   MOBILE
========================== */

@media(max-width:768px){

    .footer-container{
        grid-template-columns:1fr;
    }

    .footer-map{
        grid-column:auto;
    }

    .footer-logo{
        width:220px;
    }

    .footer-col h3{
        font-size:24px;
    }

    .footer-about p,
    .footer-col ul li a,
    .contact-list li{
        font-size:16px;
    }

    .social-icons{
        justify-content:center;
    }
}



    /* ── Phone Frame ── */
    .phone {
      width: 340px;
      background: #111111;
      border-radius: 50px;
      padding: 14px;
      border: 1px solid #2a2a2a;
    }

    .screen {
      background: #ffffff;
      border-radius: 38px;
      overflow: hidden;
    }

    /* ── Notch ── */
    .notch-bar {
      background: #6f0d52;
      position: relative;
      padding-top: 14px;
    }
    .notch {
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 100px;
      height: 28px;
      background: #111111;
      border-radius: 0 0 20px 20px;
      z-index: 10;
    }

    /* ── Status Bar ── */
    .status-bar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 4px 22px 8px;
      background: #6f0d52;
      position: relative;
      z-index: 1;
    }
    .status-time {
      font-size: 12px;
      font-weight: 600;
      color: #ffffff;
    }
    .status-icons {
      display: flex;
      align-items: center;
      gap: 4px;
    }
    .status-icons i {
      font-size: 13px;
      color: #ffffff;
    }

    /* ── App Header ── */
    .app-header {
      background: #6f0d52;
      padding: 12px 20px 22px;
      text-align: center;
    }
    .app-back {
      display: flex;
      align-items: center;
      gap: 6px;
      font-size: 12px;
      color: #f5d5e9;
      margin-bottom: 10px;
      cursor: pointer;
    }
    .app-back i { font-size: 14px; }
    .app-tag {
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: #f5d5e9;
      margin-bottom: 5px;
    }
    .app-title {
      font-size: 18px;
      font-weight: 600;
      color: #ffffff;
      margin-bottom: 3px;
    }
    .app-sub {
      font-size: 12px;
      color: #f5d5e9;
    }

    /* ── Scrollable Form Area ── */
    .form-scroll {
      background: #f7f6fc;
      padding: 18px 16px 20px;
      max-height: 520px;
      overflow-y: auto;
    }
    .form-scroll::-webkit-scrollbar { width: 0; }

    /* ── Each Field ── */
    .mf {
      display: flex;
      flex-direction: column;
      gap: 5px;
      margin-bottom: 13px;
    }
    .mf label {
      font-size: 10px;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.07em;
      color: #a85d8d;
      padding-left: 4px;
    }
    .mf-inner {
      display: flex;
      align-items: center;
      background: #ffffff;
      border: 1px solid #e8e5f5;
      border-radius: 12px;
      padding: 0 14px;
      gap: 10px;
      transition: border-color 0.2s;
    }
    .mf-inner:focus-within {
      border-color: #6f0d52;
      box-shadow: 0 0 0 3px #f7edf5;
    }
    .mf-inner i {
      font-size: 15px;
      color: #d2c5cd;
      flex-shrink: 0;
    }
    .mf-inner input,
    .mf-inner textarea {
      background: transparent;
      border: none;
      outline: none;
      font-size: 13px;
      color: #1a1a2e;
      font-family: inherit;
      width: 100%;
      padding: 11px 0;
    }
    .mf-inner textarea {
      resize: none;
      line-height: 1.5;
    }
    .mf-inner input::placeholder,
    .mf-inner textarea::placeholder {
      color: #d2c5cd;
    }
    .mf-textarea {
      align-items: flex-start;
      padding-top: 2px;
    }
    .mf-textarea i {
      margin-top: 11px;
    }

    /* ── Submit ── */
    .mf-submit {
      margin-top: 16px;
    }
    .mf-submit button {
      width: 100%;
      background: #6f0d52;
      color: #ffffff;
      border: none;
      border-radius: 14px;
      padding: 14px;
      font-size: 14px;
      font-weight: 600;
      font-family: inherit;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      transition: background 0.15s, transform 0.1s;
    }
    .mf-submit button:hover { background: #590a42; }
    .mf-submit button:active { transform: scale(0.98); }
    .mf-submit button i { font-size: 16px; }

    .mf-secure {
      text-align: center;
      font-size: 11px;
      color: #bbb;
      margin-top: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
    }
    .mf-secure i { font-size: 12px; }

    /* ── Home Bar ── */
    .home-bar {
      background: #ffffff;
      padding: 10px 0 16px;
      display: flex;
      justify-content: center;
    }
    .home-indicator {
      width: 110px;
      height: 4px;
      background: #1a1a2e;
      border-radius: 4px;
      opacity: 0.12;
    }

    /* ── Side Buttons ── */
    .phone-buttons {
      position: relative;
    }
    .vol-up {
      position: absolute;
      left: -16px;
      top: 80px;
      width: 4px;
      height: 28px;
      background: #222;
      border-radius: 2px 0 0 2px;
    }
    .vol-down {
      position: absolute;
      left: -16px;
      top: 118px;
      width: 4px;
      height: 28px;
      background: #222;
      border-radius: 2px 0 0 2px;
    }
    .power-btn {
      position: absolute;
      right: -16px;
      top: 100px;
      width: 4px;
      height: 44px;
      background: #222;
      border-radius: 0 2px 2px 0;
    }

    /* ── Mobile Responsive Overrides for Phone Mockup Form ── */
    @media (max-width: 576px) {
      .phone {
        width: 100%;
        max-width: 100%;
        padding: 0;
        background: transparent;
        border: none;
        border-radius: 0;
      }
      
      .phone-buttons {
        display: none !important;
      }
      
      .screen {
        border-radius: 16px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
        border: 1px solid rgba(111, 13, 82, 0.08);
        overflow: hidden;
      }
      
      .notch-bar {
        display: none !important;
      }
      
      .app-header {
        padding: 24px 20px 20px;
      }
      
      .app-title {
        font-size: 20px;
      }
      
      .form-scroll {
        max-height: none !important;
        overflow: visible !important;
        padding: 20px;
      }
      
      .home-bar {
        display: none !important;
      }
    }