/*==================================================
    Divine Light Academy
    Medical & Dental Clinic
    Style Sheet
====================================================*/



/*====================================
    1. ROOT VARIABLES
====================================*/

:root{

    /* Brand Colors */

    --primary:#4B2D1D;
    --primary-dark:#382013;
    --secondary:#6B4423;
    --accent:#C8A25A;
    --accent-light:#E6C987;

    --white:#FFFFFF;
    --light:#F8F4EE;
    --gray:#777777;
    --dark:#222222;

    --border:#E6D8C3;

    /* Typography */

    --heading:'Cormorant Garamond', serif;
    --body:'Poppins', sans-serif;

    /* Shadows */

    --shadow-sm:0 5px 15px rgba(0,0,0,.08);

    --shadow:

        0 12px 35px rgba(0,0,0,.12);

    --shadow-lg:

        0 20px 50px rgba(0,0,0,.20);

    /* Border Radius */

    --radius:12px;
    --radius-lg:20px;

    /* Transition */

    --transition:.35s ease;

    /* Max Width */

    --container:1200px;

}



/*====================================
    2. RESET & GLOBAL STYLES
====================================*/

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:var(--body);

    font-size:16px;
    line-height:1.8;

    color:var(--dark);

    background:var(--light);

    overflow-x:hidden;

}



/* Scrollbar */

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#efe8df;

}

::-webkit-scrollbar-thumb{

    background:var(--accent);

    border-radius:50px;

}

::-webkit-scrollbar-thumb:hover{

    background:var(--secondary);

}



/* Images */

img{

    width:100%;

    display:block;

}



/* Links */

a{

    text-decoration:none;

    color:inherit;

    transition:var(--transition);

}



/* Lists */

ul{

    list-style:none;

}



/* Headings */

h1,
h2,
h3,
h4,
h5,
h6{

    font-family:var(--heading);

    font-weight:700;

    line-height:1.2;

    color:var(--primary);

}



/* Paragraph */

p{

    color:#555;

    margin-top:15px;

}



/* Container */

.container{

    width:90%;

    max-width:var(--container);

    margin:auto;

}



/* Section */

section{

    position:relative;

    padding:90px 0;

}



/* Section Title */

.section-title{

    text-align:center;

    margin-bottom:70px;

}
.section-title h2{

    font-size:3rem;

    margin-bottom:15px;

}
.section-title p{

    max-width:720px;

    margin:auto;

    color:#666;

}



/* Utility */

.text-center{

    text-align:center;

}
.mb-1{

    margin-bottom:15px;

}
.mb-2{

    margin-bottom:30px;

}
.mb-3{

    margin-bottom:45px;

}
.hidden{

    opacity:0;

    transform:translateY(50px);

}

.show{

    opacity:1;

    transform:translateY(0);

    transition:1s ease;

}



/*====================================
    3. BUTTONS
====================================*/

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:15px 38px;

    border-radius:50px;

    cursor:pointer;

    font-size:15px;

    font-weight:600;

    letter-spacing:.5px;

    transition:var(--transition);

}



/* Gold Button */

.btn-gold{

    color:var(--white);

    background:linear-gradient(

        135deg,

        #d8b36d,

        #b98934

    );

    box-shadow:

        0 10px 25px rgba(185,137,52,.35);

}
.btn-gold:hover{

    transform:translateY(-4px);

    box-shadow:

        0 18px 35px rgba(185,137,52,.45);

}



/* Outline Button */

.btn-outline{

    color:var(--white);

    border:2px solid rgba(255,255,255,.75);

    background:transparent;

}
.btn-outline:hover{

    background:var(--white);

    color:var(--primary);

}



/* Dark Button */

.btn-dark{

    background:var(--primary);

    color:var(--white);

}
.btn-dark:hover{

    background:var(--secondary);

}



/* Button Group */

.hero-buttons{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:18px;

    margin-top:35px;

}



/*====================================
    4. HERO SECTION
====================================*/

.hero{

    position:relative;

    height:100vh;

    min-height:700px;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    color:var(--white);

    background:
        linear-gradient(
            rgba(32,18,10,.75),
            rgba(54,33,18,.75)
        ),
        url("../images/clinic-hero.jpg");

    background-size:cover;

    background-position:center;

    background-attachment:fixed;

    overflow:hidden;

}

.hero .overlay{

    position:absolute;

    inset:0;

    background:
        radial-gradient(
            circle at top,
            rgba(200,162,90,.25),
            transparent 65%
        );

    z-index:1;

}

.hero-content{

    position:relative;

    z-index:2;

    width:90%;

    max-width:850px;

    padding:50px;

    border-radius:var(--radius-lg);

    backdrop-filter:blur(10px);

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.15);

    box-shadow:var(--shadow-lg);

}

.hero-content .sub-title{

    display:inline-block;

    padding:8px 20px;

    margin-bottom:20px;

    border-radius:50px;

    background:rgba(200,162,90,.18);

    border:1px solid rgba(200,162,90,.5);

    color:var(--accent-light);

    font-size:.9rem;

    font-weight:500;

    letter-spacing:2px;

    text-transform:uppercase;

}

.hero-content h1{

    color:var(--white);

    font-size:4.5rem;

    line-height:1.1;

    margin-bottom:25px;

}

.hero-content p{

    color:rgba(255,255,255,.9);

    font-size:1.2rem;

    max-width:650px;

    margin:auto;

}

.hero::after{

    content:"";

    position:absolute;

    left:50%;

    bottom:0;

    transform:translateX(-50%);

    width:180px;

    height:5px;

    border-radius:50px;

    background:linear-gradient(

        to right,

        transparent,

        var(--accent),

        transparent

    );

}





/*====================================
    5. INTRO SECTION
====================================*/

.intro{

    background:var(--white);

}

.intro .section-title{

    margin-bottom:0;

}

.intro h2{

    position:relative;

    display:inline-block;

}

.intro h2::after{

    content:"";

    display:block;

    width:80px;

    height:4px;

    margin:18px auto 0;

    background:var(--accent);

    border-radius:50px;

}

.intro p{

    margin-top:30px;

    font-size:1.05rem;

    color:#666;

    line-height:2;

    max-width:850px;

}





/*====================================
    6. SERVICES SECTION
====================================*/

.services{

    background:#f5f0e9;

}

.service-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.service-card{

    position:relative;

    background:var(--white);

    padding:45px 35px;

    border-radius:18px;

    text-align:center;

    overflow:hidden;

    transition:var(--transition);

    box-shadow:var(--shadow-sm);

    border:1px solid rgba(200,162,90,.15);

}

.service-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:5px;

    background:linear-gradient(

        to right,

        var(--accent),

        #e7c983

    );

}

.service-card i{

    width:85px;

    height:85px;

    margin:auto;

    margin-bottom:25px;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:2rem;

    color:var(--accent);

    border-radius:50%;

    background:rgba(200,162,90,.12);

    transition:var(--transition);

}

.service-card h3{

    margin-bottom:15px;

    font-size:1.8rem;

}

.service-card p{

    color:#666;

    font-size:.95rem;

    line-height:1.8;

}

.service-card:hover{

    transform:translateY(-12px);

    box-shadow:var(--shadow-lg);

}

.service-card:hover i{

    transform:rotateY(180deg);

    background:var(--accent);

    color:var(--white);

}

.note{

    margin-top:60px;

    padding:25px 35px;

    text-align:center;

    background:#fff9ef;

    border-left:6px solid var(--accent);

    border-radius:var(--radius);

    box-shadow:var(--shadow-sm);

    color:#555;

    font-size:1rem;

}

.note strong{

    color:var(--primary);

}





/*====================================
    7. WHY CHOOSE DLA
====================================*/

.why-us{

    background:var(--white);

}

.features{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.feature{

    background:var(--light);

    padding:40px 30px;

    text-align:center;

    border-radius:18px;

    transition:var(--transition);

    box-shadow:var(--shadow-sm);

    border:1px solid rgba(200,162,90,.12);

}

.feature i{

    width:90px;

    height:90px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin:auto;

    margin-bottom:25px;

    border-radius:50%;

    background:rgba(200,162,90,.15);

    color:var(--accent);

    font-size:2rem;

    transition:var(--transition);

}

.feature h3{

    font-size:1.7rem;

    margin-bottom:15px;

}

.feature p{

    color:#666;

    line-height:1.8;

}

.feature:hover{

    transform:translateY(-12px);

    box-shadow:var(--shadow);

}

.feature:hover i{

    background:var(--accent);

    color:var(--white);

    transform:scale(1.08);

}





/*====================================
    8. CLINIC POLICIES
====================================*/

.policies{

    background:#f5f0e9;

}

.policy-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.policy-card{

    position:relative;

    background:var(--white);

    padding:40px;

    border-radius:18px;

    transition:var(--transition);

    overflow:hidden;

    box-shadow:var(--shadow-sm);

}

.policy-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:6px;

    height:100%;

    background:var(--accent);

}

.policy-card i{

    font-size:2rem;

    color:var(--accent);

    margin-bottom:20px;

}

.policy-card h3{

    font-size:1.6rem;

    margin-bottom:15px;

}

.policy-card p{

    color:#666;

    line-height:1.8;

}

.policy-card:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-lg);

}

.policy-card:hover::before{

    width:100%;

    opacity:.06;

}





/*====================================
    9. ACCIDENT INSURANCE
====================================*/

.insurance{

    background:

        linear-gradient(

            135deg,

            var(--primary),

            var(--secondary)

        );

    color:var(--white);

}

.insurance-box{

    display:flex;

    align-items:center;

    gap:40px;

    padding:60px;

    border-radius:20px;

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(8px);

    border:1px solid rgba(255,255,255,.12);

}

.insurance-box i{

    font-size:4rem;

    color:var(--accent-light);

}

.insurance-box h2{

    color:var(--white);

    margin-bottom:15px;

    font-size:2.5rem;

}

.insurance-box p{

    color:rgba(255,255,255,.92);

    margin:0;

}





/*====================================
    10. HEALTH SERVICE TEAM
====================================*/

.team{

    background:var(--white);

}

.team-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:40px;

}

.team-card{

    background:linear-gradient(

        to bottom,

        #ffffff,

        #faf7f2

    );

    border-radius:20px;

    padding:45px;

    box-shadow:var(--shadow);

    border-top:6px solid var(--accent);

    transition:var(--transition);

}

.team-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-lg);

}

.team-card h3{

    text-align:center;

    margin-bottom:30px;

    font-size:2rem;

}

.team-card ul{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.team-card li{

    display:flex;

    align-items:center;

    gap:15px;

    padding:16px 20px;

    border-radius:12px;

    background:#fff;

    box-shadow:0 5px 12px rgba(0,0,0,.05);

    transition:var(--transition);

}

.team-card li::before{

    content:"\f0f0";

    font-family:"Font Awesome 6 Free";

    font-weight:900;

    color:var(--accent);

}

.team-card li:hover{

    transform:translateX(10px);

    background:#fffaf1;

}





/*====================================
    11. CALL TO ACTION
====================================*/

.cta{

    position:relative;

    overflow:hidden;

    text-align:center;

    color:var(--white);

    background:

        linear-gradient(

            rgba(50,30,18,.80),

            rgba(50,30,18,.80)

        ),

        url("../images/cta-bg.jpg");

    background-size:cover;

    background-position:center;

}

.cta::before{

    content:"";

    position:absolute;

    inset:0;

    background:

        radial-gradient(

            circle,

            rgba(200,162,90,.18),

            transparent 70%

        );

}

.cta .container{

    position:relative;

    z-index:2;

}

.cta h2{

    color:var(--white);

    font-size:3.5rem;

    margin-bottom:20px;

}

.cta p{

    color:rgba(255,255,255,.90);

    font-size:1.1rem;

    margin-bottom:35px;

}

.cta .btn{

    min-width:220px;

}





/*====================================
    12. FOOTER
====================================*/

footer{

    background:var(--primary-dark);

    color:rgba(255,255,255,.75);

    text-align:center;

    padding:35px 0;

    border-top:4px solid var(--accent);

}

footer p{

    margin:0;

    color:rgba(255,255,255,.75);

    font-size:.95rem;

    letter-spacing:.5px;

}

footer a{

    color:var(--accent-light);

}

footer a:hover{

    color:var(--white);

}





/*====================================
    13. UTILITIES
====================================*/

/* Display */

.d-flex{

    display:flex;

}

.d-grid{

    display:grid;

}

.d-block{

    display:block;

}

.d-none{

    display:none;

}



/* Alignment */

.align-center{

    align-items:center;

}

.justify-center{

    justify-content:center;

}

.justify-between{

    justify-content:space-between;

}



/* Text */

.text-left{

    text-align:left;

}

.text-center{

    text-align:center;

}

.text-right{

    text-align:right;

}



/* Width */

.w-100{

    width:100%;

}

.w-50{

    width:50%;

}



/* Margin */

.mt-1{

    margin-top:10px;

}

.mt-2{

    margin-top:20px;

}

.mt-3{

    margin-top:40px;

}

.mt-4{

    margin-top:60px;

}

.mb-1{

    margin-bottom:10px;

}

.mb-2{

    margin-bottom:20px;

}

.mb-3{

    margin-bottom:40px;

}

.mb-4{

    margin-bottom:60px;

}



/* Padding */

.pt-1{

    padding-top:20px;

}

.pt-2{

    padding-top:40px;

}

.pt-3{

    padding-top:60px;

}

.pb-1{

    padding-bottom:20px;

}

.pb-2{

    padding-bottom:40px;

}

.pb-3{

    padding-bottom:60px;

}



/* Shadows */

.shadow{

    box-shadow:var(--shadow);

}

.shadow-lg{

    box-shadow:var(--shadow-lg);

}



/* Border Radius */

.rounded{

    border-radius:var(--radius);

}

.rounded-lg{

    border-radius:var(--radius-lg);

}



/* Card Hover */

.hover-lift{

    transition:var(--transition);

}

.hover-lift:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-lg);

}





/*====================================
    14. ANIMATIONS
====================================*/

/* Fade Up */

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(60px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}



/* Fade Down */

@keyframes fadeDown{

    from{

        opacity:0;

        transform:translateY(-60px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}



/* Fade Left */

@keyframes fadeLeft{

    from{

        opacity:0;

        transform:translateX(-60px);

    }

    to{

        opacity:1;

        transform:translateX(0);

    }

}



/* Fade Right */

@keyframes fadeRight{

    from{

        opacity:0;

        transform:translateX(60px);

    }

    to{

        opacity:1;

        transform:translateX(0);

    }

}



/* Zoom */

@keyframes zoomIn{

    from{

        opacity:0;

        transform:scale(.85);

    }

    to{

        opacity:1;

        transform:scale(1);

    }

}



/* Floating Icon */

@keyframes float{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-10px);

    }

    100%{

        transform:translateY(0);

    }

}



/* Pulse */

@keyframes pulse{

    0%{

        transform:scale(1);

    }

    50%{

        transform:scale(1.06);

    }

    100%{

        transform:scale(1);

    }

}



/* Shine Effect */

@keyframes shine{

    0%{

        left:-100%;

    }

    100%{

        left:150%;

    }

}



/* Rotate */

@keyframes rotate{

    from{

        transform:rotate(0deg);

    }

    to{

        transform:rotate(360deg);

    }

}



/* Default Animation Classes */

.fade-up{

    animation:fadeUp .8s ease both;

}

.fade-down{

    animation:fadeDown .8s ease both;

}

.fade-left{

    animation:fadeLeft .8s ease both;

}

.fade-right{

    animation:fadeRight .8s ease both;

}

.zoom-in{

    animation:zoomIn .8s ease both;

}

.float{

    animation:float 3s ease-in-out infinite;

}

.pulse{

    animation:pulse 2.5s infinite;

}

.rotate{

    animation:rotate 8s linear infinite;

}



/* Reveal Animation */

.hidden{

    opacity:0;

    transform:translateY(50px);

}

.show{

    opacity:1;

    transform:translateY(0);

    transition:all .9s ease;

}



/* Selection */

::selection{

    background:var(--accent);

    color:var(--white);

}



/* Focus */

button:focus,
input:focus,
textarea:focus,
select:focus,
a:focus{

    outline:2px solid var(--accent);

    outline-offset:4px;

}
