/*
 Theme Name:   Hello Elementor Child
 Theme URI:    https://elementor.com/
 Description:  Hello Elementor Child Theme
 Author:       Elementor Team
 Author URI:   https://elementor.com/
 Template:     hello-elementor
 Version:      1.0.0
 Text Domain:  hello-elementor-child
*/

@font-face {
    font-family: 'Gotham HTF Light';
    /* Using relative paths helps avoid domain/CORS issues */
    src: url('/wp-content/uploads/2026/01/GothamHTF-Light.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
body {
  /* padding-top: 201px !important; */
  font-family: "Gotham HTF Light", sans-serif;
}

/* Ensure the font is applied to all headings specifically, not just the body */
h1, h2, h3, h4, .elementor-heading-title {
    font-family: "Gotham HTF Light", sans-serif !important;
}

/* Fix the nested syntax error for the homepage title */
.homepage-main-title h1 {
    font-family: "Gotham HTF Light", sans-serif !important;
}


.homepage-main-title {
  h1 {
    @media screen and (max-width: 1600px) {
      font-size: 3.5rem !important;
    }
  }
}

h2{
    font-size: 1.65rem !important;
}

h3{
    font-size: 1.5rem !important;
}


/* 1. Target the 'Select Files' button and the Drop Area */
.gform_wrapper .gform_fileupload_multifile .gform_drop_area .gform_button_select_files,
.gform_wrapper input[type='submit'].gform_button {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;
    text-transform: uppercase !important;
    border-radius: 0 !important;
    letter-spacing: 0.1rem !important;
    font-family: "Gotham HTF Light", sans-serif !important;
    font-size: 1.1rem !important;
    padding: 10px 20px !important;
    display: inline-block !important;
}

/* 2. Hover states for both */
.gform_wrapper .gform_fileupload_multifile .gform_drop_area .gform_button_select_files:hover,
.gform_wrapper input[type='submit'].gform_button:hover {
    background-color: #000 !important;
    color: #fff !important;
    cursor: pointer !important;
}

/* 3. Style the Drop Area box itself (optional, but keeps it clean) */
.gform_wrapper .gform_drop_area {
    border: 1px dashed #ccc !important;
    padding: 20px !important;
    text-align: center !important;
}

.gform-theme--framework .gfield:where(.gfield--type-fileupload,.gfield--input-type-fileupload) .gform_drop_area::before{
	color: #000 !important;
}

.elementor-nav-menu li > a.elementor-item{
	font-weight: 500 !important;
}


a:not(.elementor-button, .elementor-element, .button, .menu-item a, :has(img, svg, i)),
.custom_link {
    text-decoration: underline !important;
    font-weight: 700 !important;
    transition: opacity 0.3s ease;
}

a:not(.elementor-button, .elementor-element, .button, .menu-item a, :has(img, svg, i)):hover,
.custom_link:hover {
    opacity: 0.7;
}



.main-container-wrapper {
  @media screen and (max-width: 1600px) {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
  &#plant-powered-beauty {
    @media screen and (max-width: 768px) {
      padding-left: 0 !important;
      padding-right: 0 !important;
    }
  }
}

/* #promo-slider-wrapper{
  
  @media screen and (max-width:1600px) {
    padding-left: calc(((100vw - 1537px) / 2) + 6rem);
  }
  @media screen and (max-width:1440px) {
    padding-left: calc(((100vw - 1537px) / 2) + 10rem);
  }
  @media screen and (max-width:1320px) {
    padding-left: calc(((100vw - 1537px) / 2) + 14rem);
  }
  @media screen and (max-width:1200px) {
    padding-left: calc(((100vw - 1537px) / 2) + 18rem);
  }
  @media screen and (max-width:1080px) {
    padding-left: calc(((100vw - 1537px) / 2) + 24rem);
  }
  @media screen and (max-width:992px) {
    padding-left: calc(((100vw - 1537px) / 2) + 28rem);
  }
  @media screen and (max-width:768px) {
    padding-left: 4rem;
  }
} */

#promo-slider-wrapper {
  /* This creates a fluid transition between 4rem (mobile) and 6rem (desktop) */
  padding-left: clamp(4rem, 10vw + 1rem, calc(((100vw - 1537px) / 2) + 6rem));

  @media screen and (max-width: 768px) {
    padding-left: 6rem;
  }
}

.button {
  padding: 0.5rem 1.5rem;
  border: 1px solid black;
  font-size: 1.2rem;
  letter-spacing: 0.1rem;
  text-transform: uppercase;
  color: #000;
  background-color: transparent;
	text-align: center; 
	display: inline-block;

  &:hover {
    color: #fff;
    background-color: #000;
    border: 1px solid black;
  }
}

/* CUSTOM MENU */
.blog-sidebar ul,
.custom-side-menu ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-end;
  padding-left: 0;
	
@media screen and (max-width: 1300px) {
   padding-left:0.8rem;
  }

  @media screen and (max-width: 768px) {
    align-items: center;
    display: none;
	  padding-left:0;
  }

  li {
    text-align: right;
	  
    @media screen and (max-width: 768px) {
      text-align: center;
      padding: 0.3rem 0;
    }
    a {
      color: #000;
      text-transform: uppercase;
      font-size: 1.1rem;
      letter-spacing: 0.3rem;
      text-align: right;
      @media screen and (max-width: 768px) {
        text-align: center;
      }
    }

    &.current-menu-item {
      a {
        font-weight: 800;
        border-bottom: 1px solid #000;
        padding-bottom: 2px;
      }
    }
  }
}

.custom-menu-name {
  display: none;
  background-color: #000;
  color: #fff;
  text-transform: uppercase;
  font-size: 1.8rem;
  letter-spacing: 0.2rem;

  @media (max-width: 767px) {
    display: block;
    font-weight: bold;
    margin-bottom: 2rem;
    padding: 10px 0;
    text-align: center;
  }

  h2 {
    background-color: #000;
    color: #fff;
    text-transform: uppercase;
    font-size: 2rem;
    letter-spacing: 0.3rem !important;
    line-height: 1.1;
    font-weight: 700 !important;
    padding: 1rem 0;
    text-align: center;
  }
}

/* Wrapper - Controls the Header Height */
#main-logos-wrapper {
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition:
    height 0.3s ease-in-out,
    padding 0.3s ease-in-out;
  position: sticky; /* Or fixed, depending on your layout */
  top: 0;
  z-index: 1000;
  background-color: #fff; /* Ensure background is set */
}

/* Base state for both logos */
#main-logo,
#aveda-logo-header {
  transition: transform 0.3s ease-in-out;
  display: block;
  margin: 0 auto;
  transform-origin: center center;
  will-change: transform;
}

/* --- SCROLLED STATE --- */

/* Shrunken Wrapper */
#main-logos-wrapper.header-scrolled {
  height: 80px; /* Adjust to your desired shrunken height */
}

/* Shrunken Logos */
#main-logo.logo-shrink,
#aveda-logo-header.logo-shrink {
  transform: scale(0.7);
}

.blog-sidebar {
  @media (max-width: 767px) {
    display: none;
  }
  .widget_search {
    margin-bottom: 1.5rem;
    label {
      display: block;
      margin-bottom: 1rem;
    }

    input[type="submit"] {
      text-transform: uppercase;
      padding: 0.5rem 1.5rem;
    }
  }

  .widget {
    h4 {
      text-transform: uppercase;
      font-size: 1.2rem;
      letter-spacing: 0.1rem;
      margin: 0;
      font-weight: 700;
    }
    nav {
      border-bottom: 1px solid black;
      padding-bottom: 1.2rem;
      ul {
        display: block;
		  padding:0;
        li {
          text-align: left;
			margin: 0.8rem 0;
          a {
            text-transform: none;
            font-size: 1rem;
            letter-spacing: 0.1rem;
			text-decoration: none;
          }
        }
      }
      margin-bottom: 1.2rem;
    }
  }
}

/* LOCATION */

#hours-table,
.location-listing-hours {
  table {
    background-color: unset;

    td,
    tr,
    tbody {
      border-color: unset;
      border: unset;
      color: #000;
      background-color: unset;
      padding: 0;
      font-size: 1.1rem;
    }
  }
}

/* MEET THE TEAM */
#theteam {
	margin-top: 0 !important;
  .team_member {
    .team_info {
      h3 {
        text-transform: uppercase;
		  color: #000;
      }
		.member-title {
        color: #000;
			font-weight: 500;
      }
		
		.specific_location{
			text-transform: uppercase;
		}
		.instagram_button{
			margin: 1rem 0;
			display: inline-block;
			font-size: 0.9rem;
			padding-right: 0.4rem;
                padding-left: 0.4rem;
			                display: block;
                width: fit-content;
		}
		
		.booking-link{
			margin-top:0;
		}
    }
  }
}
#teampage {
  #teamfilter {
    #drop-city {
      .parents-wrapper {
        overflow-y: scroll;
        width: 100%;
        display: flex;
        -ms-overflow-style: none; /* IE and Edge */
        scrollbar-width: none; /* Firefox */
        
        .parent-location-btn {
          margin-right: 1rem;
          background-color: transparent;
          border: 1px solid black;
          padding: 0.5rem 1.5rem;
          white-space: nowrap;

          & > span {
            color: #000 !important;
            font-size: 1.4rem;
            letter-spacing: 0.1rem;
          }

          &:hover {
            background-color: #000;
            border: 1px solid black;
            & > span {
              color: #fff !important;
            }
          }
        }
      }
      parents-wrapper::-webkit-scrollbar{
        display:none;
      }
    }
  }
}

#displayTeam {
  #stylist-not-found-message {
    text-align: center;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 100%;
  }
}

/* Parent City Highlight */
.parent-location-btn.is-active, 
.parent-location-btn input:checked + span {
    font-weight: bold;
}

/* Child Location Highlight (The Underline) */
.child-selection input:checked + span {
    text-decoration: underline;
    font-weight: bold;
}

/* --- NEW: Skill Filter Highlight (Skin, Hair, Body) --- */
#stylistSort li.is-active label,
#stylistSort li input:checked + label {
    font-weight: bold;
    text-decoration: underline;
    text-underline-offset: 5px; /* Adjust to match the children style */
}

/* Hide the actual radio buttons for a cleaner look */
#stylistSort li input[type="radio"] {
    display: none;
}

/* Hover on Child Selection (only if not checked) */
.child-selection:not(.is-active):hover span,
.child-selection:hover input:not(:checked) + span {
    opacity: 0.7;
    cursor: pointer;
}

/* Hover on Skills/StylistSort (only if not active) */
#stylistSort li:not(.is-active):hover label {
    opacity: 0.7;
    cursor: pointer;
}

.gform-theme--framework .gform-field-label:where(:not([class*=gform-field-label--type-])),
.gform-theme--framework .gfield--type-choice.field_description_below:where(:not(.field_validation_above.gfield_error):not(:has(.gfield_choice_limit_message))) .gform-field-label:where(:not([class*=gform-field-label--type-])){
	font-size: 1.2rem !important;
	font-weight: 800 !important;
	text-transform: uppercase;
	letter-spacing: 0.1rem !important;
}


/* SERVICES */
.im-service-row.serv-desc-row{
	max-width: 60%;
	
	@media screen and (max-width: 768px) {
		max-width: 100%;
	}
}

.serv_wrapper .im-service-row.serv-title-row .serv-title {
    
    @media screen and (max-width: 768px) {
		font-size: 1.3rem !important;
	}
}

.im-serv-col.serv-title{
	@media screen and (max-width: 768px) {
		line-height: 1.1;
    margin-bottom: 1rem;
	}
}