@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700&display=swap');

:root
{
    --green:#044F6E;
    --black:#444;
    --light-color:#5c5b5b;
    --box-shadow:.5rem .5rem 0 rgba(22, 22, 22, 0.2);
    --text-shadow:.4rem .4rem 0 rgba(0,0,0, .2);
    --border:.2rem solid var(--green);
}
*
{
    font-family: 'Poppins', sans-serif;
    margin: 0; padding: 0;
    box-sizing: border-box;
    outline: none; border: none;
    text-transform: capitalize;
    transition: all .2s ease-out;
    text-decoration: none;
}
html
{
    font-size: 62.5%;
    overflow-x: hidden;
    scroll-padding-top: 7rem;
    scroll-behavior: smooth;
}
section
{
    padding: 2rem 9%;
}
section:nth-child(even)
{
    background: #f5f5f5;
}
.heading
{
    text-align: center;
    padding-bottom: 2rem;
    /* FIX: Corrected text-shadow variable name */
    text-shadow: var(--text-shadow);
    text-transform:uppercase;
    color: var(--black);
    font-size: 5rem;
    letter-spacing: .4rem;
}
.heading span
{
    text-transform:uppercase;
    color: var(--green);
}



.btn
{
    display: inline-block;
    margin-top: 1rem;
    padding: .5rem;
    padding-left: 1rem;
    border: var(--border);
    border-radius: .5rem;
    box-shadow: var(--box-shadow);
    color: var(--green);
    cursor: pointer;
    font-size: 1.7rem;
    background: #fff;
}
.btn span
{
    padding: .7rem 1rem;
    border-radius: .5rem;
    background: var(--green);
    color: #fff;
    margin-left: .5rem;
}
.btn:hover
{
    background: var(--green);
    color: #fff;
}
.btn:hover span
{
    color: var(--green);
    background: #fff;
}

.p_top
{
    margin-top: -70px;
    padding-left: 70px;
}
.container
{
    width: 80%;
    padding-left:  12px;
    padding-right: 12px;
    margin-right: auto;
    margin-left: auto;
    max-width: 100%;
}
.top_info

{
    padding: 1rem 5%;
    position: relative;
    display: grid;
   justify-content: space-between; 
    grid-auto-flow: column;
    /*gap: 10px;*/
    align-items: center;
    z-index: 1001;
}
.header
{
    padding: 2rem 9%;
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 1000;
    box-shadow: 0 .5rem 1,5rem rgba(0, 0, 0, .1);
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    font-weight: bold;
}

.header .logo_0
{
    font-size: 2.5rem;
    color: var(--black);
}

.header .navbar a
{
    font-size: 1.7rem;
    color: var(--light-color);
    margin-left: 2rem;
}


.header .navbar a:hover
{

    
    margin-top: 1rem;
    padding: .5rem;
    padding-left: 1rem;
    border: var(--border);
    border-radius: .5rem;
    box-shadow: var(--box-shadow);
    color: var(--green);
    cursor: pointer;
    font-size: 1.7rem;
    color: var(--green);

}
#menu-btn
{
    font-size: 2.5rem;
    border-radius: .5rem;
    background: #eee;
    color: var(--green);
    padding: 1rem 1.5rem;
    cursor: pointer;
    display: none;
}
.home  
{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.5rem;
    padding-top: 10rem;
}
.home .image
{
    flex: 1 1 45rem;
}
.home .image img
{
    width: 100%;
}
.home .content
{
    flex: 1 1 45rem;
}
.home .content h3
{
    font-size: 4.5rem;
    color: var(--black);
    line-height: 1.8;
    text-shadow: var(--text-shadow);
}
.home .content p
{
    font-size: 1.2rem;
    color: var(--light-color);
    line-height: 1.8;
    padding: 1rem 0;
}
.icons-container
{
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(auto-fit, minmax(20rem,1fr));
    padding-top: 5rem;
    padding-bottom: 5rem;
}
.icons-container .icons
{
    border: var(--border);
    box-shadow: var(--box-shadow);
    border-radius: .5rem;
    text-align: center;
    padding: 2.5rem;
}
.icons-container .icons i
{
    font-size: 4.5rem;
    color: var(--green);
    padding-bottom: .7rem;
}
.icons-container .icons h3
{
    font-size: 4.5rem;
    color: var(--black);
    padding: .5rem 0;
    text-shadow: var(--text-shadow);
}
.icons-container .icons p
{
    font-size: 1.7rem;
    color: var(--light-color);
}

.about .row
{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2rem;
}
.about .row .image
{
    flex: 1 1 45rem;
}
.about .row .image img
{
    width: 100%;
}
.about .row .content
{
    flex: 1 1 45rem;
}
.about .row .content h3
{
    color: var(--black);
    text-shadow: var(--text-shadow);
    font-size: 2rem;
    line-height: 1.8;
}
.about .row .content p
{
    color: var(--light-color);
    padding: 1rem 0;
    font-size: 1.5rem;
    line-height: 1.8;
}

.box img {
  padding: 0;
  margin: 0;
  background: none;
  border: none;
}
.box img {
  all: unset;
  width: 150px;  
  display: block;
}

.book .row
{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2rem;
}
.book .row .image
{
    flex: 1 1 45rem;
}
.book .row .image img
{
    width: 100%;
}
.book .row .rdv
{
    flex: 1 1 45rem;
    background: #fff;
    border: var(--border);
    box-shadow: var(--box-shadow);
    text-shadow: var(--text-shadow) ;
    text-align: center;
    padding: 2rem;
    border-radius: .5rem;
}
.book .row h3
{
    color: var(--black);
    padding-bottom: 1rem;
    font-size: 3rem;
}

.book .row .rdv
{
    display: block;
}


.book .row form .box
{
    width: 100%;
    margin: .7rem 0;
    border-radius: .5rem;
    border: var(--border);
    font-size: 1.6rem;
    color: var(--black);
    text-transform: none;
    padding: 1rem;
}
.book .row form .btn
{
    padding: 1rem 4rem;
}

.blogs .box-container
{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(30rem,1fr));
    gap: 2rem;
}
.blogs .box-container .box
{
    border: var(--border);
    box-shadow: var(--box-shadow);
    border-radius: .5rem;
    padding: 2rem;
}
.blogs .box-container .box .image
{
    height: 20rem;
    overflow: hidden;
    border-radius: .5rem;
}
.blogs .box-container .box .image img
{
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.blogs .box-container .box:hover .image img
{
    transform: scale(1.2);
}
.blogs .box-container .box .content 
{
    padding-top: 1rem;
}
.blogs .box-container .box .content  i
{
    color: var(--green);
    font-size: 5rem;
    padding-bottom:.5rem ;
}
.blogs .box-container .box .content .icon a
{
    font-size: 1.4rem;
    color: var(--light-color);
}
.blogs .box-container .box .content .icon a:hover
{
    color: var(--green);
}
.blogs .box-container .box .content .icon a i
{
    padding-right: .5rem;
    color: var(--green);
}
.blogs .box-container .box .content h3
{
    color: var(--black);
    font-size: 3rem;
}
.blogs .box-container .box .content p
{
    color: var(--light-color);
    font-size: 1.5rem;
    line-height: 1.8;
    padding: 1rem 0;
}
.footer .box-container
{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(22rem,1fr));
    gap: 2rem;
}
.footer .box-container .box h3
{
    font-size: 2.5rem;
    color: var(--black);
    padding: 1rem 0;
}
.footer .box-container .box a
{
    display: block;
    font-size: 1.5rem;
    color: var(--light-color);
    padding: 1rem 0;
}
.footer .box-container .box a i
{
    padding-right: .5rem;
    color: var(--green);
}
.footer .box-container .box a:hover i
{
    padding-right: 2rem;
}
.footer .credit
{
    padding: 1rem;
    padding-top: 2rem;
    margin-top: 2rem;
    text-align: center;
    font-size: 2rem;
    color: var(--light-color);
    border-top: 1px solid rgba(0, 0, 0, .1);
}



.footer_top
{
    display: flex;             /* 1. Activate Flexbox */
    flex-direction: column;    /* 2. Stack children vertically (icon div above menu div) */
    align-items: center;       /* 3. Center children horizontally within the parent */
    justify-content: center;   /* 4. Center children vertically (optional, depends on your layout needs) */
    width: 100%;               /* Ensure it takes full width */
    /* Add padding/margin as needed */
    padding: 20px 0; 
}


.footer_icon
{
     color: var(--green);
    display: flex;
     gap: 5rem;
      margin-bottom: 2rem;

}

.footer_menu
{
      font-size: 2.5rem;
    display: flex;
     text-align: center;
      gap: 2rem;
     
}

.footer_top .footer_icon i
{
  
     font-size: 5rem;
}

.footer_top .footer_icon a:visited
{
     color: var(--green);
   
}
.footer_top .footer_icon a
{
     color: var(--green);
   
}


.credit
{
    padding: 1rem;
    padding-top: 2rem;
    margin-top: 2rem;
    text-align: center;
    font-size: 2rem;
    color: var(--light-color);
    border-top: 1px solid rgba(0, 0, 0, .1);
}

.credit span
{
    color: var(--green);
    font-weight: bold;
}
.contact_details h3
{
     font-size: 3.5rem;
    color: var(--black);
    line-height: 1.8;
    text-shadow: var(--text-shadow);
}


.contact_top {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

/* Left side */
.contact_details {
  width: 40%;
  font-weight: bold;
  
  
    flex-direction: column;
    justify-content: center;   /* center vertically */
    align-items: center;       /* center horizontally */
   
    gap: 10px;
    padding: 20px;
}

.contact_details span {
  display: block;
  margin-bottom: 12px;
  font-size: 16px;
}

/* Right side (iframe 60%) */
.map {
  width: 60%;
}

.map iframe {
  width: 100%;
  height: 350px;
  border: 0;
  border-radius: 10px; /* optional */
}

.rdv 
{
    display: block;
}

/* Responsive: stack on small screens */
@media (max-width: 768px) {
  .contact_top {
    flex-direction: column;
  }

  .contact_details,
  .map {
    width: 100%;
  }
}
/* Add new media query to fix footer menu responsiveness */
@media (max-width: 550px) {
    .footer_menu {
       /* flex-direction: column;  Stack the menu items vertically */
        gap: 1rem; /* Adjust gap for stacked items */
    }
}
/*=========== media queries========== */
@media (max-width:990px){
    html
        {
            font-size: 55%;
        }
    .header
        {
            padding: 2rem;
        }
    section
        {
            padding: 2rem;
        }
}
@media (max-width:768px){
    #menu-btn
        {
            display: initial;
        }
        .p_top{
            display: none;
        }
    .header .navbar
        {
            position: absolute;
            /* FIX: Changed 115% to 100% to keep the menu inside the fixed header on mobile */
            top: 100%; right: 2rem; 
            border-radius: .5rem;
            box-shadow: var(--box-shadow);
            width: 30rem;
            border: var(--border);
            background: #fff;
            transform: scale(0);
            opacity: 0;
            transform-origin: top right;
            transition: none;
        }
        .header .navbar.active
        {
            transform: scale(1);
            opacity: 1;
            transition: .2s ease-out;
        }
        .header .navbar a
        {
            font-size: 2rem;
            display: block;
            margin: 2.5rem;
        }
}
@media (max-width:450px){
    html
        {
            font-size: 50%;
        }
}