/* ===================================
    Crafto - Beauty salon
====================================== */
/* font */
@import url("https://fonts.googleapis.com/css2?family=Marcellus&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Urbanist:wght@100;200;300;400;500;600;700;800;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Golos+Text:wght@400..900&display=swap");
/* variable */
:root {
  --base-color: #2750e7;
  --dark-gray: #2e3844;
  --medium-gray: #7e8287;
  --light-gray: #ffece7;
  --light-medium-gray: #7e8691;
  --alt-font: "Marcellus", serif;
  --primary-font: "Urbanist", sans-serif;
  --primary-font: "Golos Text", sans-serif;
}
/* reset */
body {
  font-size: 16px;
  line-height: 30px;
  letter-spacing: 0px;
}
section {
  padding-top: 100px;
  padding-bottom: 100px;
}
/* custom cursor */
.custom-cursor .circle-cursor-inner {
  background-color: var(--dark-gray);
  width: 16px;
  height: 16px;
}
.custom-cursor .circle-cursor-inner.cursor-link-hover {
  background-color: var(--dark-gray);
}
.custom-cursor .circle-cursor-outer {
  border: 1px solid transparent;
}
/* header */
.navbar .navbar-nav .nav-link {
  font-size: 15px;
  padding: 10px 22px;
  font-weight: 600;
  letter-spacing: 0.3px;
}
header .navbar-brand img {
  max-height: 42px;
}
header .navbar-brand {
  padding: 25px 0;
}
/* text gradient color */
.text-gradient-san-blue-new-york-red {
  background-image: linear-gradient(
    to right,
    #2e3844,
    #455161,
    #db7f68,
    #e17a60,
    #e47256
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
/* bg color */
.bg-gradient-blue-ironstone-brown {
  background-image: linear-gradient(
    to right,
    #2c3846,
    #333945,
    #3e393f,
    #584344,
    #8b4d41
  );
}
.bg-gradient-blue-ironstone-brown-transparent {
  background-image: linear-gradient(
    to right,
    rgb(46, 56, 68),
    rgba(47, 56, 68, 0.7),
    rgba(70, 64, 68, 0.7),
    rgba(104, 74, 68, 0.7),
    rgba(134, 84, 68, 0.7)
  );
}
.bg-gradient-solitude-blue-fair-pink {
  background-image: linear-gradient(
    to bottom,
    #f8ebe9,
    #f6ebed,
    #f2ebf0,
    #eeebf1,
    #eaecf1
  );
}
.bg-gradient-dark-transparent {
  background: -webkit-gradient(
    linear,
    left bottom,
    left top,
    color-stop(7%, #2e3844),
    to(transparent)
  );
  background: linear-gradient(to top, #2e3844 7%, transparent 100%);
}
/* btn */
.btn {
  text-transform: inherit;
  font-family: var(--primary-font);
  font-weight: 600;
}
.btn.btn-extra-large {
  font-size: 17px;
  padding: 16px 30px;
}
.btn.btn-large {
  font-size: 15px;
  padding: 14px 25px;
}
.btn.btn-medium {
  font-size: 14px;
  padding: 12px 22px;
}
.btn.btn-small {
  font-size: 13px;
  padding: 11px 22px;
}
.btn.btn-very-small {
  font-size: 13px;
  padding: 9px 20px;
}
.btn.btn-base-color {
  color: #fff;
}
.btn.btn-box-shadow.btn-base-color:hover {
  color: #fff;
}
.btn.btn-base-color:hover {
  color: var(--base-color);
}
.btn.btn-transparent-white-light {
  border-color: rgba(255, 255, 255, 0.2);
}
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-bottom: 20px;
}
/* border radius */
.border-radius-rb-50px {
  border-radius: 0 0 50px 0;
}
/* page title */
.page-title-extra-small h1 {
  font-size: 4.3rem;
  line-height: 4.3rem;
}
/* services box style 01 */
.services-box-style-01:hover .box-overlay {
  opacity: 0.4;
}
/* interactive banner style 01 */
.interactive-banner-style-01 figure:hover .box-overlay {
  opacity: 0.7;
}
/* services box style 01 */
.services-box-style-01 .box-overlay {
  opacity: 0;
  visibility: visible;
}
.services-box-style-01:hover .box-overlay {
  opacity: 0.7;
}
/* contact form style 03 */
.contact-form-style-03 {
  margin-bottom: -85px;
}
/* top right bottom left */
.right-45px {
  right: 45px;
}
.right-minus-45px {
  right: -45px;
}
/* footer */
footer .footer-logo img {
  max-height: 42px;
}
footer .elements-social .medium-icon li a {
  font-size: 18px;
}
footer .elements-social .medium-icon li {
  margin-right: 0px;
}
footer .nav-link {
  color: var(--white);
}
@media (max-width: 1600px) {
  section {
    padding-top: 90px;
    padding-bottom: 90px;
  }
}
@media only screen and (max-width: 1399px) and (min-width: 992px) {
  .navbar .navbar-nav .nav-link {
    font-size: 17px;
    padding: 10px 20px;
  }
}
@media (max-width: 991px) {
  [data-mobile-nav-style="modern"]
    .navbar-modern-inner
    .navbar-nav
    > .nav-item {
    border-bottom: 0;
    padding: 7px 0px;
  }
  [data-mobile-nav-style="modern"]
    .navbar-modern-inner
    .navbar-nav
    .nav-item
    .nav-link {
    font-size: 30px;
  }
  section {
    padding-top: 75px;
    padding-bottom: 75px;
  }
  footer ul li {
    line-height: normal;
  }
  header .btn.btn-transparent-white-light,
  header .btn.btn-transparent-white-light:hover {
    border-color: rgba(46, 56, 68, 1);
    color: var(--dark-gray);
  }
}
@media (max-width: 767px) {
  section {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .h1,
  .h2,
  .h3,
  .h4,
  .h5,
  .h6,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin-bottom: 20px;
  }
}

/* custom */
.bg-light-blue {
  background-color: #e9f6ff;
}
.bg-gradient-blue-new {
  background-color: #d2f9ff;
  background-image1: linear-gradient(
    90deg,
    rgba(20, 74, 224, 1) 0%,
    rgba(87, 175, 199, 1) 50%,
    rgba(83, 181, 237, 1) 100%
  );
}
.highlights .feature-box {
  padding: 30px 20px;
}

.btn-yellow {
  background-color: var(--yellow);
  color: var(--dark-gray);
}
.btn-yellow:hover {
  background-color: transparent;
  border-color: var(--yellow);
  color: var(--yellow);
}
.btn.btn-box-shadow.btn-yellow:hover {
  background-color: var(--yellow) !important;
  color: var(--dark-gray) !important;
}

/* Mobile-friendly horizontal tab scrolling */
.tab-style-01 .nav-tabs.flex-nowrap {
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; /* Hide scrollbar for Firefox */
  -ms-overflow-style: none; /* Hide scrollbar for IE/Edge */
}
.tab-style-01 .nav-tabs.flex-nowrap::-webkit-scrollbar {
  display: none; /* Hide scrollbar for Chrome/Safari */
}
.tab-style-01 .nav-tabs .nav-item {
  white-space: nowrap;
}

/* Mobile tab navigation arrows */
.tab-nav-arrow {
  background: var(--base-color);
  color: white;
  border: none;
  width: 40px;
  height: 40px;
  border-radius: 0; /* Square button */
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
  flex-shrink: 0;
}
.tab-nav-arrow:hover {
  background: var(--dark-gray);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}
.tab-nav-arrow i {
  font-size: 18px;
  line-height: 1;
}

/* Desktop: hide arrows, full width tabs */
@media (min-width: 768px) {
  .tab-nav-wrapper {
    display: block !important;
  }
  .tab-nav-container {
    width: 100%;
  }
}

/* Mobile: 10%-80%-10% layout */
@media (max-width: 767px) {
  .tab-nav-wrapper {
    gap: 0;
  }

  .tab-nav-arrow {
    width: 10%;
    min-width: 40px;
    height: 45px;
    border-radius: 0; /* Square on mobile */
  }

  .tab-nav-container {
    width: 80%;
    flex: 0 0 80%;
    overflow: hidden;
  }

  .tab-style-01 .nav-tabs {
    font-size: 14px !important;
    justify-content: flex-start !important;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    margin: 0;
    border-bottom: none; /* Remove border bottom */
  }
  .tab-style-01 .nav-tabs .nav-item {
    flex: 0 0 auto;
    scroll-snap-align: start;
    margin-bottom: 0;
    border-bottom: none; /* Remove border bottom */
  }
  .tab-style-01 .nav-tabs .nav-link {
    padding: 10px 15px;
    font-size: 14px;
    border-radius: 0; /* Square tabs */
  }

  /* Center footer underlines on mobile */
  footer .position-relative span[style*="position: absolute"] {
    left: 50% !important;
    transform: translateX(-50%);
  }
}
