
:root{
    --text-color:#ED4C2D;
    --max-width:1500px;
    --min-width:375px;
    --page-margin:150px;
}


body{
    padding:0px;
    margin:0px;
    display:flex;
    flex-direction: column;
    position:relative;
    overflow-x: hidden;
    color:var(--text-color);
    margin-left: var(--page-margin);
    margin-right:var(--page-margin);
    min-width: 375px;
    align-items: center;
}

#home, #about, #services {
  scroll-margin-top: 150px; /* height of your fixed header */
}


a{
    color:var(--text-color);
    text-decoration-line: none;
}

h1, h2, h3, h4, p, span, a, li, button {
  font-family: 'Outfit'; /* headings use Rubik */
  transform: scaleY(1.07); 
}

a:active{
    color:black;
}

a:hover{
    color: black;
    cursor: pointer;
}

.header{
  background-color: white;
  height: 120px;
  position: fixed;
  top: 0;
  left: 50%;                  /* push to the middle */
  transform: translateX(-50%);/* pull back by half */
  z-index: 1000;
  
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;

  width: calc(100% - 298px); /* responsive width */
  max-width: var(--max-width);         /* cap the size */
}


.nav-container{
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    height:100%;
    justify-content: space-around;
    padding-bottom:10px;
    width:250px;
    border-bottom: solid 1px orange;
}

.home {
  display: flex;
  height: 100vh;
  overflow: hidden;
  align-self: center;
  width: 100%;
  justify-content: center;
  align-items: center;
  max-width: var(--max-width);
}

.partner-desktop-view{
    display:inline-flex;
    width:100%;
    justify-content:space-between;
}

.outer-container{
    display:flex;
    flex-direction: row;
    align-items: center;
    height:100%;
    width: 100%;
}

.left-container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    flex:1;
}

.logo-container{
    display: flex;
    justify-content: center;
    align-items: center;
    position:relative;
}

.homepage-image-container{
    flex:1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.homepage-image{
    height:600px;
    width: auto;
    border-radius: 10px;
}

.logo-image{
    height:57px;
    width:auto;
    margin-right: 20px;
    border-radius: 5px;
    border-bottom:3px;
    border-right:3.8px;
    border-top:3.5px;
    border-left:4px;
    border-color: var(--text-color);
    border-style: solid;
}

.logo-text {
    font-size: 50px;
    color:black;
    font-weight:400;
    transform: scaleY(1.07); 
    width: 100%;
}

.contact-container {
  display: flex;
  flex-direction: column;   /* stack items vertically */
  gap: 15px;                /* space between rows */
  margin-top: 20px;
  font-size: 22px;
  color:var(--text-color);
  background-color:white;
}

.contact-item {
  display: flex;
  align-items: center;      /* vertically center icon + text */
}

.partner-mobile-view{
    display:none;
}

.contact-icon {
  width: 24px;
  height: 24px;
  margin-right: 10px;       /* space between icon and text */
}

.footer-contact-container{
    position:fixed;
    bottom:0px;
    left: 0px;
    display: flex;
    flex-direction: row;
    color:var(--text-color);
    font-size: 14px;
    justify-content: center;
    align-items: center;
    width:100%;
    background-color: white;
    height: 40px;
}

 .contact-divider{
    margin-left:5px;
    margin-right:5px;
 }


/* header-specific */
.header-logo-container{
    display:none;
}

.biography{
    display:flex;
    flex-direction: row;
    gap: 20px;
    margin-top:50px;
    margin-bottom:var(--page-margin);
}

.biography-image{
    display:flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.bio-image-text{
    font-weight: normal;
    font-size: 14px;
}

.biography-text{
    display: flex;
    align-items: center;
    height: 200px;
}

.ital{
    font-style: italic;
}

.bioImage{
    border-radius: 50%;
    height:200px;
    width: 200px;
}

/* ////////////// about page ////////////// */
.about {
    display:flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    max-width: var(--max-width);
    align-self: center;
}

.about-inner-container{
    margin-bottom:75px;
}

.section-header{
    display: inline-flex;
    border-bottom:0px;
    align-self: flex-start;
}

.partner-container{
    display:flex;
    flex-direction: column;
    justify-content: space-evenly;
    justify-content: center;
    align-items: center;
    margin-bottom:200px;
    width: 100%;
}

.partner-logo{
    height:85px;
    width: auto;
}

.mini-row{
    display: flex;
    justify-content: space-between;
    width: 200px;
}


.bio{
    margin-bottom: 30px;
}

.services-container{
    display:flex;
    justify-content: center;
}

/* ////////////// services page ////////////// */
.services {
    display:flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    scroll-margin-top: 175px; /* equal to header height */
    max-width: var(--max-width);
}

.services-inner-container{
    display:flex;
    flex-direction:column;
    width:100%;
    align-self: center;
}

/* SERVICES SECTION LAYOUT */
.services-outer-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 85px;
  width: 100%;
  max-width: var(--max-width);
  margin-top:10px;
}

/* LEFT SIDE: SERVICE LIST */
.services-list {
  flex:1;
  list-style: none;
  padding: 0;
  margin: 0;
  width: 35%;
  display: flex;
  flex-direction: column;
  border-right: 1px solid black;
  padding-left: 25px;
}

.service-item {
  font-size: 18px;
  height:50px;
  color: var(--text-color);
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  display:flex;
  align-items: flex-start;
}

p#service-text{
    color: var(--text-color);
    font-size: 16px;
}

div h3.service-title{
    font-size:22px;
    font-weight: normal;
    margin-top:0px;
}

.service-item:hover {
  color: black;
}

.service-item.active {
  color: var(--text-color)
}


.service-item.active::after {
  content: "";
  position: absolute;
  left: -25px; /* adjust as needed */
  top: 22%;
  transform: translateY(-50%);
  width: 20px;  /* adjust to your image size */
  height: 20px;
  background-image: url("./assets/images/L'abricot_cut_out.png");
  background-size: contain;   /* scales image to fit */
  background-repeat: no-repeat;
  background-position: center;
}

/* RIGHT SIDE: SERVICE DESCRIPTION */
.service-description {
  flex: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  color: var(--text-color);
}

.service-description h3 {
  font-size: 26px;
  margin-bottom: 15px;
}

.service-description p {
  font-size: 18px;
  /* line-height: 1.6; */
  color: #333;
}

.partner-outer-container{
    margin-top:75px;
}

.book-button{
    background-color: var(--text-color);
    color:white;
    height: 20px;
    width: fit-content;
    display:flex;
    text-align: center;
    padding:12px;
    align-self: center;
    margin-top: 20px;
    border-radius: 5px;
}

.book-button:hover{
    background-color: black;
    color: white;
}

.visually-hidden{
     position: absolute;
      width: 1px;
      height: 1px;
      margin: -1px;
      border: 0;
      padding: 0;
      white-space: nowrap;
      clip-path: inset(100%);
      clip: rect(0 0 0 0);
      overflow: hidden;
}

button.service-button {
   background-color: white;
   border:none;
   font-size: inherit;
   color: inherit;
   cursor: pointer
}

@media (max-width: 1350px) {
    #home, #about, #services {
       scroll-margin-top: 100px; /* height of your fixed header */
    }
    .nav-container{
        border-bottom: none;
    }
    body{
        margin:0px;
    }
    .nav-container{
        align-self: center;
        justify-content: space-around;
        align-items: center;
        flex:1;
    }

    .header{
        flex-direction: column;
        height:100px;
        width: 100%;
    }   
    .logo-text{
        font-size: 40px;
    }
    .header-logo{
        display: inline-flex;
        align-items: center;
        margin-bottom:10px;
    }

    .logo-text{
    margin:0;
    }

    .logo-image{
        margin-right:10px;
        height: 40px;
    }

    .nav-item{
        font-size: 14px;
    }


    .header-logo-container{
        display:flex;
        flex-direction: column;
        width: 100%;
        justify-content: flex-end;
        align-items: center;
        flex:5;
    }
    .outer-container{
        flex-direction: column;
    }

    .left-container{
        display:none;
    }

    .contact-container{
        flex-direction:row;
    }

    .homepage-image{
        height:90vw;
        width: auto;
        border-radius: 10px;
    }

    .partner-container{
        flex-direction: column;
        justify-content: center;
        align-items: center;
        display: inline;
    }

    .partner-mobile-view{
        flex-direction: column;
        gap:26px;
    }

    .partner-desktop-view{
        display:none;
    }
    .partner-mobile-view{
        display:flex;
        align-items: center;
    }

    .about-inner-container{
    width:90vw;
    }

    .services-inner-container{
        width:90vw;
    }

    .services-outer-container{
        flex-direction: column;
        gap: 20px;
    }

    .services-list{
        border-right:none;
        width:100%;
    }

    .biography{
        flex-direction: column;
        gap:0
    }

    .biography-text{
        height: auto;
    }

}
