/* Ava Marie custom layer */

#logo.ava-logo,
#logo-footer.ava-logo {
   color: var(--color-white);
   font-family: "Dancing Script", cursive;
   font-size: 42px;
   font-weight: 700;
   line-height: 0.82;
   text-transform: none;
   -webkit-text-stroke: 0.35px rgba(34, 34, 34, 0.72);
   text-shadow: 0 1px 1px rgba(34, 34, 34, 0.86), 0 3px 10px rgba(0, 0, 0, 0.68), 0 0 18px rgba(218, 123, 103, 0.42), 0 0 32px rgba(255, 246, 244, 0.28);
}

#logo.ava-logo span,
#logo-footer.ava-logo span {
   display: block;
}

#logo.ava-logo .ava-logo-offset,
#logo-footer.ava-logo .ava-logo-offset {
   padding-left: 28px;
}

#logo-footer.ava-logo {
   font-size: 36px;
   margin-bottom: 26px;
}

#logo.ava-logo:hover,
#logo-footer.ava-logo:hover {
   color: var(--color-white);
   transform: translateY(-1px);
   text-shadow: 0 1px 1px rgba(34, 34, 34, 0.9), 0 5px 14px rgba(0, 0, 0, 0.74), 0 0 22px rgba(218, 123, 103, 0.58), 0 0 40px rgba(255, 246, 244, 0.34);
}

#header {
   position: fixed;
   z-index: 9000;
   background: linear-gradient(180deg, rgba(20, 18, 18, 0.36), rgba(20, 18, 18, 0));
   -webkit-transition: background-color 0.35s, box-shadow 0.35s, backdrop-filter 0.35s;
   -o-transition: background-color 0.35s, box-shadow 0.35s, backdrop-filter 0.35s;
   transition: background-color 0.35s, box-shadow 0.35s, backdrop-filter 0.35s;
}

#header.ava-header-scrolled {
   background-color: rgba(28, 24, 24, 0.4);
   -webkit-backdrop-filter: blur(14px);
   backdrop-filter: blur(14px);
   -webkit-box-shadow: 0 12px 34px -18px rgba(0, 0, 0, 0.85);
   box-shadow: 0 12px 34px -18px rgba(0, 0, 0, 0.85);
}

#header.ava-header-scrolled .wrapper-header {
   padding-top: 4px;
   padding-bottom: 4px;
}

#header.ava-header-scrolled #logo.ava-logo {
   font-size: 34px;
}

#header.ava-header-scrolled #logo.ava-logo .ava-logo-offset {
   padding-left: 22px;
}

#header.ava-header-scrolled .wrapper-header .btn {
   padding: 12px 24px;
   font-size: 12px;
}

.header-menu > li > a.active,
.mobile-menu > li > a.active {
   color: var(--color-pink);
}

.ava-page-intro {
   max-width: 760px;
   margin: 0 auto 42px;
}

.ava-page-intro p {
   margin-bottom: 0;
}

.ava-about-link {
   margin-top: 12px;
}

.ava-aboutus-img img {
   height: 620px;
   object-fit: cover;
   object-position: center top;
}

.single-service img,
.single-pricing img {
   object-fit: cover;
}

#sale.ava-sale-contrast {
   position: relative;
   overflow: hidden;
   background-position: center 42%;
}

#sale.ava-sale-contrast:before {
   content: "";
   position: absolute;
   inset: 0;
   z-index: 0;
   background: linear-gradient(90deg, rgba(18, 15, 15, 0.76) 0%, rgba(32, 24, 22, 0.56) 52%, rgba(32, 24, 22, 0.18) 100%);
   pointer-events: none;
}

.ava-sale-contrast .wrapper-sale {
   position: relative;
   z-index: 1;
}

.ava-sale-contrast .sale-content .suptitle {
   color: #f1a18f;
   text-shadow: 0 2px 16px rgba(0, 0, 0, 0.56);
}

.ava-sale-contrast .sale-content h2 {
   color: var(--color-white);
   text-shadow: 0 4px 24px rgba(0, 0, 0, 0.74), 0 1px 2px rgba(0, 0, 0, 0.82);
}

.ava-sale-contrast .sale-content p {
   color: rgba(255, 255, 255, 0.9);
   text-shadow: 0 2px 14px rgba(0, 0, 0, 0.68);
}

/* Soft lift for serif headings throughout Ava's pages. */
h1,
h2,
h3 {
   text-shadow: 0 1px 0 rgba(255, 255, 255, 0.95), 0 0 18px rgba(255, 255, 255, 0.9), 0 8px 24px rgba(255, 246, 244, 0.72);
}

/* Darker lift for white headings over photos and dark sections. */
.wrapper-header-content h1,
#sale h2,
#testimonials h2,
.wrapper-author h3 {
   text-shadow: 0 2px 3px rgba(0, 0, 0, 0.82), 0 6px 24px rgba(0, 0, 0, 0.68), 0 0 22px rgba(218, 123, 103, 0.38);
}

#testimonials .suptitle {
   text-shadow: 0 1px 2px rgba(0, 0, 0, 0.52), 0 0 10px rgba(218, 123, 103, 0.3);
}

#testimonials h2 {
   text-shadow: 0 2px 3px rgba(0, 0, 0, 0.78), 0 5px 16px rgba(0, 0, 0, 0.54);
}

.suptitle {
   text-shadow: 0 1px 0 rgba(255, 255, 255, 0.85), 0 0 14px rgba(255, 255, 255, 0.82), 0 6px 18px rgba(255, 246, 244, 0.7);
}

.wrapper-header-content .suptitle,
.ava-sale-contrast .sale-content .suptitle {
   text-shadow: 0 2px 14px rgba(0, 0, 0, 0.62), 0 0 18px rgba(218, 123, 103, 0.36);
}

.wrapper-header-content.pages h1 {
   font-size: 80px;
}

#product .single-product img {
   height: 320px;
   object-fit: cover;
   border-radius: 150px 0 150px 0;
}

#product .single-product h3 {
   margin-bottom: 6px;
}

#product .single-product .price {
   color: var(--color-dark-pink);
   font-family: "Poppins", sans-serif;
   font-size: 13px;
   font-weight: 600;
   letter-spacing: 2px;
   line-height: 1.4;
   text-transform: uppercase;
}

.ava-services-list {
   margin-top: 28px;
}

.ava-service-note {
   padding: 34px;
   margin: 10px;
   width: calc(50% - 20px);
   background-color: var(--color-white);
   background-image: url('../images/bg-block-top.png'), url('../images/bg-block-bottom.png');
   background-repeat: no-repeat, no-repeat;
   background-position: top right, bottom left;
   -webkit-box-shadow: 0px 15px 40px -5px rgb(0 0 0 / 10%);
   box-shadow: 0px 15px 40px -5px rgb(0 0 0 / 10%);
}

.ava-service-note h3 {
   font-size: 34px;
   margin-bottom: 18px;
}

.ava-service-note ul li {
   margin-bottom: 12px;
}

.ava-service-note ul li:before {
   content: "";
   display: inline-block;
   width: 7px;
   height: 7px;
   margin-right: 12px;
   border-radius: 50%;
   background-color: var(--color-dark-pink);
   vertical-align: middle;
}

.ava-gallery-filters {
   display: flex;
   justify-content: center;
   flex-wrap: wrap;
   gap: 14px;
   margin-bottom: 42px;
}

.ava-gallery-filters a {
   min-width: 128px;
   padding: 13px 22px;
   border: 1px solid var(--color-dark-pink);
   border-radius: 3px;
   color: var(--color-dark);
   font-weight: 600;
   text-align: center;
   text-transform: uppercase;
}

.ava-gallery-filters a.active,
.ava-gallery-filters a:hover {
   color: var(--color-white);
   background-color: var(--color-dark-pink);
}

.ava-gallery-grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 24px;
}

.ava-gallery-item {
   position: relative;
   display: block;
   overflow: hidden;
   aspect-ratio: 3 / 4;
   border-radius: 3px;
   background-color: var(--color-light-pink);
   -webkit-box-shadow: 0px 15px 40px -5px rgb(0 0 0 / 10%);
   box-shadow: 0px 15px 40px -5px rgb(0 0 0 / 10%);
}

.ava-gallery-item:before {
   content: "";
   position: absolute;
   z-index: 2;
   inset: 14px;
   border: 1px solid rgba(255, 255, 255, 0.82);
   opacity: 0;
   -webkit-transition: all 0.5s;
   -o-transition: all 0.5s;
   transition: all 0.5s;
}

.ava-gallery-item img,
.ava-gallery-item video {
   width: 100%;
   height: 100%;
   object-fit: cover;
   -webkit-transition: all 0.5s;
   -o-transition: all 0.5s;
   transition: all 0.5s;
}

.ava-gallery-item video {
   display: block;
   background-color: #222222;
   pointer-events: none;
}

.ava-gallery-item:hover:before {
   opacity: 1;
}

.ava-gallery-item:hover img,
.ava-gallery-item:hover video {
   transform: scale(1.04);
}

.ava-video-play {
   position: absolute;
   z-index: 3;
   top: 50%;
   left: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   width: 58px;
   height: 58px;
   border-radius: 50%;
   color: var(--color-white);
   background-color: rgba(218, 123, 103, 0.86);
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
   transform: translate(-50%, -50%);
   -webkit-transition: all 0.35s;
   -o-transition: all 0.35s;
   transition: all 0.35s;
}

.ava-video-play i {
   margin-left: 4px;
}

.ava-gallery-video:hover .ava-video-play {
   background-color: var(--color-dark-pink);
   transform: translate(-50%, -50%) scale(1.08);
}

.ava-gallery-item.is-hidden {
   display: none;
}

.ava-reviews-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 24px;
   margin-top: 48px;
}

.ava-review-card {
   position: relative;
   padding: 38px 30px 30px;
   min-height: 310px;
   text-align: left;
   background-color: rgba(255, 255, 255, 0.08);
   border: 1px solid rgba(255, 255, 255, 0.14);
}

.ava-review-card:before {
   content: "\201C";
   position: absolute;
   top: 4px;
   left: 24px;
   color: var(--color-dark-pink);
   font-family: "Cormorant", serif;
   font-size: 76px;
   line-height: 1;
}

.ava-review-card p {
   color: var(--color-white);
   margin-bottom: 20px;
}

.ava-review-card .wrapper-author h3 {
   margin-bottom: 6px;
}

.ava-review-card .wrapper-author p {
   margin-bottom: 0;
}

.ava-lightbox {
   position: fixed;
   inset: 0;
   z-index: 1000000;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 18px;
   padding: 32px;
   background-color: rgba(34, 34, 34, 0.92);
   opacity: 0;
   visibility: hidden;
   -webkit-transition: all 0.35s;
   -o-transition: all 0.35s;
   transition: all 0.35s;
}

.ava-lightbox.is-active {
   opacity: 1;
   visibility: visible;
}

.ava-lightbox-media {
   position: relative;
   z-index: 1;
   display: flex;
   align-items: center;
   justify-content: center;
   max-width: calc(100vw - 128px);
   max-height: min(82vh, calc(100vh - 152px));
}

.ava-lightbox img,
.ava-lightbox video {
   width: auto;
   max-width: min(1100px, calc(100vw - 128px));
   max-height: min(82vh, calc(100vh - 152px));
   -webkit-box-shadow: 0px 20px 60px -10px rgb(0 0 0 / 55%);
   box-shadow: 0px 20px 60px -10px rgb(0 0 0 / 55%);
}

.ava-lightbox video {
   background-color: #000000;
   cursor: pointer;
}

.ava-lightbox-video-controls {
   position: absolute;
   left: 50%;
   bottom: 18px;
   z-index: 8;
   display: none;
   gap: 10px;
   transform: translateX(-50%);
}

.ava-lightbox.is-video .ava-lightbox-video-controls {
   display: flex;
}

.ava-lightbox button {
   position: absolute;
   z-index: 7;
   width: 48px;
   height: 48px;
   border: 1px solid rgba(255, 255, 255, 0.42);
   border-radius: 50%;
   background-color: rgba(255, 255, 255, 0.08);
   color: var(--color-white);
   cursor: pointer;
   font-size: 24px;
   line-height: 1;
   -webkit-transition: all 0.35s;
   -o-transition: all 0.35s;
   transition: all 0.35s;
}

.ava-lightbox-close:hover,
.ava-lightbox .ava-lightbox-video-controls button:hover {
   background-color: var(--color-dark-pink);
   border-color: var(--color-dark-pink);
}

.ava-lightbox .ava-lightbox-video-controls button {
   position: static;
   width: auto;
   height: auto;
   min-width: 92px;
   padding: 10px 16px;
   border-radius: 3px;
   font-size: 12px;
   text-transform: uppercase;
   letter-spacing: 1px;
}

.ava-lightbox-close {
   top: 24px;
   right: 24px;
}

.ava-lightbox-nav {
   position: relative;
   z-index: 7;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 18px;
}

.ava-lightbox-nav .ava-lightbox-prev,
.ava-lightbox-nav .ava-lightbox-next {
   position: static;
   border-color: rgba(255, 255, 255, 0.72);
   background-color: rgba(255, 255, 255, 0.1);
   color: var(--color-white);
   transform: none;
}

.ava-lightbox-nav .ava-lightbox-prev:hover,
.ava-lightbox-nav .ava-lightbox-next:hover,
.ava-lightbox-nav .ava-lightbox-prev:focus,
.ava-lightbox-nav .ava-lightbox-next:focus,
.ava-lightbox-nav .ava-lightbox-prev:active,
.ava-lightbox-nav .ava-lightbox-next:active {
   border-color: rgba(255, 255, 255, 0.72);
   background-color: rgba(255, 255, 255, 0.1);
   color: var(--color-white);
   transform: none;
}

.ava-lightbox-nav .ava-lightbox-prev:focus-visible,
.ava-lightbox-nav .ava-lightbox-next:focus-visible {
   outline: 2px solid rgba(255, 255, 255, 0.62);
   outline-offset: 4px;
}

@media (max-width: 767px) {
   .ava-lightbox {
      padding: 20px;
   }

   .ava-lightbox-media,
   .ava-lightbox img,
   .ava-lightbox video {
      max-width: 92vw;
   }

   .ava-lightbox img,
   .ava-lightbox video {
      max-height: min(72vh, calc(100vh - 152px));
   }
}

.wrapper-copyright a {
   color: var(--color-white);
}

.wrapper-copyright a:hover {
   color: var(--color-dark-pink);
}

.ava-contact-method {
   display: block;
}

.ava-contact-direct-wrap {
   justify-content: center;
}

.ava-direct-contact-card {
   width: min(760px, 100%);
   padding: 56px 48px;
}

.ava-direct-contact-card p {
   max-width: 620px;
   margin-left: auto;
   margin-right: auto;
}

.ava-direct-phone {
   color: var(--color-dark);
   font-family: "Cormorant", serif;
   font-size: 38px;
   font-weight: 700;
   line-height: 1.1;
   margin-top: 24px;
   margin-bottom: 0;
}

.ava-direct-phone i {
   color: var(--color-dark-pink);
   font-size: 28px;
   margin-right: 14px;
}

.ava-contact-actions {
   display: flex;
   justify-content: center;
   flex-wrap: wrap;
   gap: 14px;
   margin: 20px 0 28px;
}

.ava-contact-action {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   min-width: 136px;
   padding: 12px 22px;
   font-size: 12px;
}

.ava-contact-action i {
   font-size: 15px;
}

.ava-contact-indicator {
   cursor: default;
   pointer-events: none;
}

.ava-direct-details {
   max-width: 470px;
   margin: 34px auto 0;
   text-align: left;
}

.ava-direct-details p {
   margin-bottom: 12px;
   font-size: 22px;
}

.ava-direct-details p i {
   width: 26px;
   margin-right: 14px;
   text-align: center;
}

.ava-footer-note {
   max-width: 360px;
}

footer .wrapper-footer {
   justify-content: space-between;
}

footer .wrapper-footer .single-content-footer:first-child,
footer .wrapper-footer .single-content-footer:last-child {
   width: calc(50% - 20px);
}

footer .wrapper-footer .single-content-footer:last-child p:first-of-type {
   color: var(--color-white);
   font-size: 18px;
   font-weight: 700;
   letter-spacing: 0.02em;
}

footer .wrapper-footer .single-content-footer:last-child p:first-of-type i {
   color: var(--color-pink);
   font-size: 17px;
}

@media (max-width: 600px) {
   footer .wrapper-footer .single-content-footer:first-child,
   footer .wrapper-footer .single-content-footer:last-child {
      width: 100%;
      text-align: center;
   }

   .ava-footer-note {
      margin-left: auto;
      margin-right: auto;
   }
}

#openmenu span {
   font-size: 13px;
   font-weight: 700;
   letter-spacing: 0.08em;
   line-height: 1;
   text-transform: uppercase;
}

.ava-mobile-footer-nav {
   display: none;
}

@media (max-width: 1050px) {
   #openmenu {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 8px 14px;
      border: 1px solid rgba(255, 255, 255, 0.34);
      border-radius: 999px;
      background: rgba(23, 21, 25, 0.28);
      font-size: 18px;
      line-height: 1;
   }

   #openmenu i {
      font-size: 18px;
   }

   .ava-mobile-footer-nav {
      display: grid;
      gap: 16px;
      width: min(1140px, calc(100% - 40px));
      margin: 0 auto 22px;
      padding: 22px 0;
      border-top: 1px solid rgba(203, 189, 154, 0.36);
      border-bottom: 1px solid rgba(203, 189, 154, 0.36);
   }

   .ava-mobile-footer-nav p {
      margin: 0;
      color: var(--color-dark);
      font-family: "Cormorant", serif;
      font-size: 30px;
      line-height: 1;
      text-align: center;
      text-transform: lowercase;
   }

   .ava-mobile-footer-nav div {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
   }

   .ava-mobile-footer-nav a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      border: 1px solid rgba(203, 189, 154, 0.42);
      border-radius: 999px;
      color: var(--color-dark);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
   }

   .ava-gallery-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
   }

   .ava-reviews-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }
}

@media (max-width: 800px) {
   #logo.ava-logo {
      font-size: 34px;
   }

   .ava-aboutus-img img {
      height: auto;
   }

   .ava-service-note {
      width: 100%;
   }

   .ava-gallery-grid,
   .ava-reviews-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }
}

@media (max-width: 520px) {
   .ava-direct-contact-card {
      padding: 42px 24px;
   }

   .ava-contact-action {
      width: 100%;
      min-width: 0;
   }

   .ava-direct-phone {
      font-size: 32px;
   }

   .ava-direct-details p {
      font-size: 20px;
   }

   .ava-gallery-grid,
   .ava-reviews-grid {
      grid-template-columns: 1fr;
   }

   .ava-mobile-footer-nav div {
      grid-template-columns: 1fr;
   }
}
