/* =========================================================
   IA Driving School CV - site styles (loaded after style.css)
   ---------------------------------------------------------
   01. Base & shared helpers        09. Instructor card
   02. Header (layout 7)            10. Testimonials
   03. Hero (slider + car)          11. Booking forms
   04. Breadcrumb                   12. Areas & pass gallery
   05. Section titles & spacing     13. Footer
   06. Courses (homepage cards)     14. Courses page
   07. Price table                  15. Carousels
   08. Opening hours card           16. Small screens
   ========================================================= */

/* ---------- 01. Base & shared helpers ---------- */
html {
  scroll-behavior: smooth;
}

img {
  max-width: 100%;
  height: auto;
}

picture {
  display: contents;
}

[id] {
  scroll-margin-top: 110px;
}

.sub-title img {
  width: 30px;
  height: 30px;
  object-fit: contain;
  vertical-align: -7px;
  margin-right: 10px;
}

.sec-text {
  max-width: 680px;
  margin: -6px auto 0;
  font-size: 17px;
}

.text-start .sec-text,
.team-intro .sec-text {
  margin-left: 0;
}

.btn-group {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.scroll-top {
  border: 0;
  padding: 0;
  background: transparent;
}

/* ---------- 02. Header (layout 7) ---------- */
/* Blue ribbon flag behind the round logo: same proportions as the theme's
   layout-7 demo (wide banner from the top bar down, pointed tail). */
.header-layout7 .header-logo {
  width: 236px;
  height: 100px;
  padding: 0;
  justify-content: center;
}

.header-layout7 .header-logo:before {
  top: -50px;
  height: 280px;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 184px, 50% 100%, 0 184px);
          clip-path: polygon(0 0, 100% 0, 100% 184px, 50% 100%, 0 184px);
  box-shadow: none;
}

/* thin light edge + darker fold on the left, like a folded ribbon */
.header-layout7 .header-logo:after {
  content: '';
  position: absolute;
  top: -50px;
  left: 0;
  width: 100%;
  height: 280px;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.18) 0, rgba(0, 0, 0, 0) 14%, rgba(0, 0, 0, 0) 86%, rgba(0, 0, 0, 0.18) 100%);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 184px, 50% 100%, 0 184px);
          clip-path: polygon(0 0, 100% 0, 100% 184px, 50% 100%, 0 184px);
}

.header-layout7 .header-logo a {
  position: relative;
  top: 34px;
  display: block;
  border-radius: 50%;
  box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.22), 0 14px 28px rgba(0, 0, 0, 0.28);
  transition: transform 0.4s ease-in-out;
}

.header-layout7 .header-logo a:hover {
  transform: scale(1.04);
}

.header-layout7 .header-logo img {
  display: block;
  width: 140px;
  height: 140px;
  max-height: none;
  max-width: none;
}

.header-layout7 .header-top .container {
  padding-left: 300px;
}

.header-layout7 .main-menu {
  margin-left: 18px;
}

/* Sticky bar: a shorter flag that still hangs below the bar */
.header-layout7 .sticky .header-logo:before,
.header-layout7 .sticky .header-logo:after {
  top: 0;
  height: 136px;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100px, 50% 100%, 0 100px);
          clip-path: polygon(0 0, 100% 0, 100% 100px, 50% 100%, 0 100px);
}

.header-layout7 .sticky .header-logo a {
  top: 8px;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.22), 0 8px 18px rgba(0, 0, 0, 0.25);
}

.header-layout7 .sticky .header-logo img {
  width: 92px;
  height: 92px;
}

.main-menu > ul > li > a.active {
  color: var(--theme-color);
}

.main-menu > ul > li > a.active:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 28px;
  height: 2px;
  background-color: var(--theme-color);
}

.header-layout7 .social-links .header-call {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-right: 18px;
  font-weight: 600;
}

.header-layout7 .social-links .header-call i {
  color: var(--theme-color);
}

.th-mobile-menu ul li a.active {
  color: var(--theme-color);
}

.th-menu-wrapper .mobile-logo img {
  width: 110px;
  height: 110px;
  max-height: none;
}

.th-menu-wrapper .mobile-call-btn {
  margin-top: 30px;
  min-width: 0;
}

@media (max-width: 1399px) {
  .header-layout7 .header-links li:first-child {
    display: none;
  }
}

@media (max-width: 1399px) {
  .header-layout7 .header-logo {
    width: 210px;
  }
  .header-layout7 .header-logo img {
    width: 128px;
    height: 128px;
  }
  .header-layout7 .header-top .container {
    padding-left: 260px;
  }
}

@media (max-width: 1199px) {
  .header-layout7 .header-logo {
    width: 180px;
  }
  .header-layout7 .header-logo img {
    width: 112px;
    height: 112px;
  }
  .header-layout7 .header-logo a {
    top: 26px;
  }
  .header-layout7 .header-top .container {
    padding-left: 220px;
  }
}

@media (max-width: 991px) {
  .header-layout7 .header-logo {
    width: 150px;
    height: 96px;
  }
  .header-layout7 .header-logo a {
    top: 14px;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.22), 0 8px 18px rgba(0, 0, 0, 0.25);
  }
  .header-layout7 .header-logo img {
    width: 92px;
    height: 92px;
  }
  .header-layout7 .header-logo:before,
  .header-layout7 .header-logo:after,
  .header-layout7 .sticky .header-logo:before,
  .header-layout7 .sticky .header-logo:after {
    top: 0;
    height: 142px;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 104px, 50% 100%, 0 104px);
            clip-path: polygon(0 0, 100% 0, 100% 104px, 50% 100%, 0 104px);
  }
  .header-layout7 .sticky .header-logo a {
    top: 14px;
  }
  .header-layout7 .sticky .header-logo img {
    width: 92px;
    height: 92px;
  }
  .header-layout7 .header-top .social-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
  }
}

@media (max-width: 575px) {
  .header-layout7 .header-logo {
    width: 124px;
    height: 84px;
  }
  .header-layout7 .header-logo a {
    top: 12px;
  }
  .header-layout7 .header-logo img,
  .header-layout7 .sticky .header-logo img {
    width: 76px;
    height: 76px;
    max-width: none;
  }
  .header-layout7 .header-logo:before,
  .header-layout7 .header-logo:after,
  .header-layout7 .sticky .header-logo:before,
  .header-layout7 .sticky .header-logo:after {
    height: 122px;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 90px, 50% 100%, 0 90px);
            clip-path: polygon(0 0, 100% 0, 100% 90px, 50% 100%, 0 90px);
  }
  .header-layout7 .social-links .social-title {
    display: none;
  }
  .header-layout7 .social-links .header-call {
    margin-right: 12px;
  }
}

/* ---------- 03. Hero (slider + car) ---------- */
.hero-13 .hero-img {
  width: 46%;
  max-width: 900px;
  top: auto;
  bottom: 9%;
  right: 3%;
}

.hero-13 .hero-img img {
  width: 100%;
  filter: drop-shadow(0 30px 30px rgba(0, 0, 0, 0.35));
}

.hero-13 .hero-shape-wrap {
  top: 5%;
  left: 44%;
}

.hero-13 .hero-shape .shape2 img {
  width: 200px;
  height: auto;
  animation: badgeFloat 6s ease-in-out infinite;
}

@keyframes badgeFloat {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-12px);
  }
}

.hero-13 .hero-style1 {
  max-width: 640px;
  padding: 170px 0 190px;
}

.hero-13 .hero-title {
  font-size: 66px;
}

.hero-13 .hero-subtitle {
  font-size: 20px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

@media (max-width: 1399px) {
  .hero-13 .hero-style1 {
    padding: 140px 0 160px;
    max-width: 560px;
  }
  .hero-13 .hero-title {
    font-size: 60px;
  }
  .hero-13 .hero-img {
    width: 47%;
  }
  .hero-13 .hero-shape .shape2 img {
    width: 170px;
  }
  .hero-13 .hero-shape .shape1 {
    display: none;
  }
}

@media (max-width: 1199px) {
  .hero-13 .hero-style1 {
    max-width: 470px;
  }
  .hero-13 .hero-title {
    font-size: 52px;
  }
  .hero-13 .hero-shape-wrap {
    top: 9%;
    left: auto;
    right: 6%;
  }
}

@media (max-width: 991px) {
  .hero-13 .hero-style1 {
    max-width: 640px;
    padding: 90px 0 30px;
  }
  .hero-13 .hero-img {
    position: relative;
    width: 100%;
    max-width: 620px;
    inset: auto;
    margin: 0 auto;
    padding: 0 15px 70px;
  }
  .hero-13 .hero-shape-wrap {
    display: none;
  }
}

@media (max-width: 575px) {
  .hero-13 .hero-style1 {
    padding: 60px 0 20px;
  }
  .hero-13 .hero-subtitle {
    font-size: 15px;
  }
  .hero-13 .hero-img {
    padding-bottom: 50px;
  }
  .hero-13 .btn-group {
    gap: 12px;
  }
  .hero-13 .btn-group .th-btn {
    flex: 1 1 100%;
  }
}

/* ---------- 04. Breadcrumb (header is no longer overlaid) ---------- */
.header-layout7 ~ .breadcumb-wrapper {
  position: relative;
  margin-top: 0;
  padding: 150px 0 120px;
}

.breadcumb-wrapper:before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(25, 24, 37, 0.45), rgba(25, 24, 37, 0.7));
}

.breadcumb-wrapper .breadcumb-content {
  position: relative;
  z-index: 2;
}

.breadcumb-menu li:last-child {
  color: #7CC0FF;
}

@media (max-width: 1199px) {
  .header-layout7 ~ .breadcumb-wrapper {
    padding: 130px 0 100px;
  }
}

@media (max-width: 991px) {
  .header-layout7 ~ .breadcumb-wrapper {
    margin-top: 0;
    padding: 110px 0 80px;
  }
}

@media (max-width: 575px) {
  .header-layout7 ~ .breadcumb-wrapper {
    padding: 90px 0 60px;
  }
}

/* ---------- 05. Section titles & spacing ---------- */
.feature-box {
  height: 100%;
}

/* Spinning frame around the feature icons. The theme loads the mask from a
   separate SVG, which browsers block when a page is opened straight from disk;
   inlining it keeps the animation visible everywhere. */
.line-icon:after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.87 84.93C15.87 84.93 15.74 84.85 15.48 84.68C15.23 84.51 14.85 84.27 14.40 83.94C14.18 83.78 13.92 83.60 13.65 83.40C13.38 83.19 13.10 82.95 12.79 82.70C12.49 82.44 12.17 82.17 11.83 81.88C11.51 81.59 11.18 81.26 10.83 80.92C10.49 80.58 10.13 80.23 9.78 79.85C9.43 79.46 9.08 79.06 8.72 78.64C8.34 78.23 8.00 77.78 7.65 77.32C7.30 76.86 6.94 76.38 6.60 75.90C5.94 74.90 5.24 73.86 4.65 72.75C4.01 71.66 3.51 70.49 2.96 69.34C2.50 68.15 2.00 66.97 1.65 65.77C1.24 64.59 0.98 63.38 0.71 62.23C0.59 61.65 0.49 61.07 0.41 60.51C0.31 59.94 0.22 59.39 0.18 58.85C0.14 58.31 0.09 57.79 0.05 57.28C0.01 56.77 0.01 56.28 0.00 55.81C0.00 55.33 -0.00 54.88 0.00 54.45C0.03 54.02 0.06 53.62 0.08 53.24C0.11 52.86 0.14 52.50 0.17 52.17C0.21 51.84 0.27 51.54 0.31 51.26C0.38 50.72 0.48 50.30 0.53 50.01C0.59 49.72 0.62 49.57 0.62 49.57C0.62 49.57 0.66 49.72 0.73 50.01C0.80 50.30 0.92 50.71 1.02 51.24C1.11 51.77 1.29 52.41 1.46 53.14C1.55 53.50 1.64 53.89 1.73 54.30C1.83 54.70 1.94 55.12 2.06 55.56C2.18 56.01 2.27 56.46 2.41 56.94C2.55 57.40 2.69 57.89 2.83 58.38C2.90 58.63 2.97 58.88 3.04 59.14C3.12 59.39 3.20 59.65 3.29 59.90C3.45 60.42 3.62 60.95 3.78 61.48C4.17 62.54 4.52 63.64 4.95 64.73C5.34 65.84 5.82 66.93 6.27 68.04C6.77 69.12 7.23 70.22 7.76 71.27C8.25 72.34 8.82 73.35 9.33 74.37C9.60 74.86 9.88 75.34 10.14 75.82C10.27 76.06 10.40 76.30 10.53 76.53C10.67 76.76 10.81 76.98 10.94 77.21C11.20 77.66 11.47 78.10 11.71 78.52C11.96 78.94 12.24 79.33 12.47 79.72C12.71 80.11 12.95 80.49 13.17 80.85C13.40 81.20 13.62 81.53 13.83 81.84C14.24 82.47 14.59 83.04 14.92 83.48C15.24 83.93 15.47 84.31 15.63 84.55C15.79 84.80 15.87 84.93 15.87 84.93Z' fill='%230073E6'/%3E%3Cpath d='M71.40 93.55C71.40 93.55 71.23 93.67 70.90 93.88C70.57 94.08 70.10 94.40 69.48 94.76C69.17 94.94 68.83 95.16 68.45 95.37C68.06 95.57 67.62 95.77 67.16 95.99C66.69 96.21 66.20 96.45 65.68 96.70C65.15 96.93 64.58 97.13 63.99 97.36C63.40 97.58 62.78 97.82 62.13 98.03C61.47 98.21 60.78 98.41 60.09 98.60C59.73 98.70 59.38 98.80 59.01 98.89C58.65 98.96 58.27 99.03 57.89 99.11C57.14 99.26 56.37 99.41 55.58 99.53C53.99 99.71 52.34 99.94 50.66 99.95C48.97 100.06 47.26 99.93 45.55 99.87C43.85 99.66 42.14 99.52 40.49 99.14C38.83 98.86 37.25 98.36 35.71 97.93C34.95 97.68 34.22 97.40 33.50 97.13C33.14 97.00 32.79 96.87 32.44 96.73C32.10 96.59 31.77 96.43 31.43 96.28C30.78 95.97 30.14 95.66 29.53 95.37C28.92 95.06 28.36 94.72 27.81 94.41C27.27 94.08 26.74 93.79 26.27 93.48C25.81 93.14 25.37 92.83 24.95 92.53C24.55 92.23 24.15 91.97 23.81 91.70C23.47 91.43 23.17 91.15 22.90 90.92C22.35 90.45 21.94 90.06 21.65 89.80C21.38 89.54 21.22 89.39 21.22 89.39C21.22 89.39 21.42 89.48 21.77 89.64C22.12 89.81 22.65 90.03 23.29 90.35C23.62 90.51 23.96 90.69 24.36 90.86C24.77 91.02 25.19 91.21 25.65 91.40C26.11 91.60 26.59 91.80 27.10 92.02C27.62 92.22 28.17 92.41 28.74 92.62C29.31 92.82 29.89 93.08 30.51 93.27C31.13 93.47 31.77 93.67 32.43 93.87C32.76 93.97 33.09 94.09 33.43 94.19C33.77 94.27 34.11 94.36 34.47 94.45C35.17 94.62 35.88 94.84 36.60 95.01C37.34 95.15 38.08 95.31 38.84 95.47C39.58 95.65 40.36 95.73 41.14 95.87C42.68 96.15 44.27 96.27 45.85 96.45C47.44 96.52 49.03 96.67 50.61 96.64C51.39 96.63 52.18 96.68 52.95 96.62C53.71 96.58 54.48 96.54 55.23 96.52C55.98 96.47 56.71 96.37 57.43 96.32C57.79 96.29 58.15 96.26 58.51 96.22C58.86 96.18 59.20 96.12 59.54 96.08C60.23 95.98 60.90 95.89 61.55 95.80C62.20 95.71 62.80 95.56 63.41 95.45C64.01 95.34 64.58 95.23 65.13 95.13C65.66 95.00 66.17 94.88 66.66 94.77C67.14 94.66 67.59 94.54 68.02 94.46C68.45 94.35 68.83 94.23 69.18 94.13C69.88 93.93 70.44 93.79 70.82 93.69C71.20 93.60 71.40 93.55 71.40 93.55Z' fill='%230073E6'/%3E%3Cpath d='M97.83 37.52C97.83 37.52 97.90 37.74 98.03 38.15C98.15 38.57 98.35 39.18 98.56 39.96C98.66 40.35 98.80 40.78 98.90 41.26C99.01 41.74 99.10 42.27 99.21 42.83C99.31 43.39 99.42 44 99.54 44.63C99.62 45.26 99.68 45.93 99.76 46.63C99.82 47.32 99.91 48.05 99.94 48.81C99.96 49.57 99.97 50.35 99.98 51.16C99.99 51.56 100.01 51.97 99.98 52.38C99.96 52.79 99.94 53.22 99.91 53.64C99.86 54.49 99.81 55.35 99.72 56.23C99.47 57.98 99.26 59.80 98.80 61.61C98.44 63.44 97.81 65.24 97.25 67.06C96.53 68.82 95.90 70.62 94.99 72.28C94.20 73.98 93.18 75.54 92.23 77.06C91.73 77.81 91.17 78.51 90.65 79.21C90.39 79.55 90.13 79.89 89.87 80.23C89.61 80.56 89.31 80.86 89.04 81.17C88.48 81.78 87.93 82.37 87.41 82.95C86.87 83.51 86.28 83.99 85.75 84.48C85.20 84.95 84.70 85.43 84.18 85.84C83.65 86.22 83.14 86.59 82.66 86.94C82.18 87.28 81.74 87.60 81.32 87.89C80.89 88.16 80.47 88.38 80.10 88.59C79.37 89.01 78.78 89.32 78.39 89.53C77.99 89.74 77.78 89.85 77.78 89.85C77.78 89.85 77.96 89.69 78.27 89.37C78.60 89.07 79.06 88.61 79.66 88.06C79.96 87.77 80.31 87.49 80.65 87.13C80.98 86.76 81.35 86.38 81.73 85.97C82.12 85.56 82.53 85.13 82.96 84.67C83.37 84.19 83.78 83.67 84.22 83.14C84.64 82.60 85.13 82.08 85.56 81.48C85.99 80.89 86.43 80.26 86.89 79.63C87.11 79.30 87.36 79.00 87.57 78.66C87.78 78.32 87.99 77.98 88.20 77.63C88.62 76.92 89.09 76.25 89.50 75.51C89.89 74.76 90.30 74.01 90.71 73.25L91.02 72.68C91.12 72.49 91.21 72.29 91.30 72.09C91.48 71.69 91.66 71.29 91.85 70.89C92.63 69.31 93.21 67.62 93.88 65.96C94.41 64.26 95.03 62.57 95.43 60.86C95.64 60.00 95.91 59.17 96.06 58.32C96.23 57.47 96.41 56.64 96.59 55.82C96.75 54.99 96.85 54.17 96.99 53.37C97.05 52.97 97.12 52.57 97.18 52.18C97.24 51.79 97.26 51.40 97.31 51.02C97.39 50.25 97.48 49.50 97.56 48.77C97.64 48.05 97.64 47.34 97.70 46.67C97.74 45.99 97.79 45.34 97.83 44.72C97.84 44.10 97.85 43.52 97.86 42.96C97.87 42.41 97.87 41.89 97.89 41.41C97.90 40.92 97.87 40.47 97.86 40.07C97.83 39.26 97.84 38.63 97.83 38.19C97.83 37.75 97.83 37.52 97.83 37.52Z' fill='%230073E6'/%3E%3Cpath d='M89.54 18.93C89.54 18.93 89.60 18.95 89.71 18.98C89.81 19.02 89.97 19.07 90.15 19.16C90.52 19.33 91.01 19.58 91.54 19.93C91.80 20.10 92.08 20.30 92.35 20.52C92.62 20.73 92.88 21.02 93.14 21.31C93.66 21.89 94.15 22.56 94.58 23.26C94.96 23.98 95.27 24.72 95.49 25.44C95.59 25.81 95.71 26.15 95.75 26.51C95.80 26.86 95.83 27.20 95.84 27.51C95.87 28.14 95.83 28.68 95.76 29.06C95.74 29.24 95.70 29.40 95.68 29.50C95.65 29.61 95.63 29.66 95.63 29.66C95.63 29.66 95.58 29.63 95.48 29.57C95.39 29.51 95.25 29.42 95.09 29.30C94.77 29.06 94.34 28.71 93.92 28.27C93.70 28.05 93.49 27.81 93.28 27.55C93.08 27.29 92.82 27.03 92.61 26.74C92.17 26.18 91.77 25.55 91.43 24.89C91.05 24.27 90.73 23.63 90.49 22.97C90.35 22.64 90.28 22.31 90.15 21.99C90.03 21.67 89.93 21.36 89.85 21.06C89.68 20.47 89.60 19.94 89.57 19.55C89.54 19.37 89.56 19.20 89.54 19.10C89.54 18.98 89.54 18.93 89.54 18.93Z' fill='%230073E6'/%3E%3Cpath d='M27.16 8.01C27.16 8.01 27.34 7.88 27.69 7.64C28.04 7.41 28.54 7.05 29.20 6.62C29.85 6.18 30.69 5.71 31.67 5.18C32.16 4.93 32.67 4.61 33.24 4.36C33.81 4.10 34.41 3.84 35.04 3.56C35.35 3.42 35.67 3.27 36.01 3.14C36.34 3.02 36.69 2.89 37.04 2.76C37.74 2.51 38.47 2.26 39.22 2.01C40.75 1.59 42.36 1.11 44.08 0.83C44.51 0.75 44.94 0.66 45.38 0.58C45.81 0.50 46.26 0.47 46.70 0.41C47.59 0.31 48.50 0.16 49.41 0.12C50.32 0.08 51.25 0.03 52.18 0.00L52.35 0L52.59 0.00L52.92 0.01L53.60 0.03L54.95 0.07L56.30 0.13C56.75 0.14 57.24 0.22 57.70 0.27C58.64 0.37 59.57 0.49 60.49 0.61C61.41 0.76 62.29 0.98 63.17 1.16C63.61 1.26 64.05 1.36 64.48 1.45C64.91 1.54 65.32 1.70 65.74 1.82C66.57 2.09 67.39 2.34 68.18 2.61C68.59 2.73 68.96 2.92 69.33 3.07C69.71 3.23 70.08 3.40 70.44 3.55C70.81 3.71 71.16 3.87 71.52 4.02C71.87 4.18 72.22 4.33 72.54 4.52C73.18 4.89 73.81 5.23 74.41 5.57C75.63 6.21 76.61 7.01 77.51 7.64C77.95 7.97 78.39 8.25 78.75 8.55C79.10 8.87 79.42 9.16 79.72 9.43C80.31 9.95 80.74 10.38 81.05 10.66C81.35 10.95 81.51 11.10 81.51 11.10C81.51 11.10 81.31 11.00 80.93 10.81C80.55 10.62 79.99 10.35 79.30 9.98C78.96 9.80 78.58 9.60 78.17 9.38C77.74 9.19 77.27 8.97 76.78 8.75C76.30 8.53 75.77 8.30 75.22 8.05C74.68 7.78 74.08 7.57 73.46 7.35C72.85 7.11 72.21 6.87 71.55 6.62C71.23 6.48 70.89 6.38 70.53 6.27C70.18 6.17 69.83 6.06 69.47 5.95C68.74 5.75 68.03 5.48 67.26 5.30C66.50 5.14 65.72 4.95 64.92 4.76C64.52 4.67 64.13 4.56 63.72 4.50C63.32 4.43 62.90 4.36 62.49 4.30C62.07 4.23 61.66 4.17 61.24 4.10C60.82 4.04 60.40 3.94 59.98 3.90C59.15 3.82 58.30 3.75 57.45 3.66C57.02 3.62 56.62 3.55 56.17 3.54L54.82 3.50L53.47 3.44L52.79 3.42L52.45 3.40L52.37 3.40H52.32H52.30C52.28 3.40 52.41 3.40 52.35 3.40L52.19 3.40C51.32 3.43 50.46 3.43 49.60 3.44C49.17 3.43 48.74 3.48 48.32 3.51C47.90 3.53 47.47 3.56 47.05 3.59C46.21 3.62 45.39 3.72 44.57 3.82C42.94 3.96 41.38 4.27 39.88 4.50C39.14 4.65 38.43 4.80 37.73 4.95C37.38 5.02 37.04 5.10 36.70 5.16C36.37 5.25 36.04 5.34 35.72 5.42C35.08 5.58 34.46 5.74 33.87 5.89C33.28 6.03 32.74 6.23 32.22 6.38C31.20 6.70 30.26 6.94 29.53 7.22C28.78 7.49 28.18 7.68 27.78 7.81C27.37 7.94 27.16 8.01 27.16 8.01Z' fill='%230073E6'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.87 84.93C15.87 84.93 15.74 84.85 15.48 84.68C15.23 84.51 14.85 84.27 14.40 83.94C14.18 83.78 13.92 83.60 13.65 83.40C13.38 83.19 13.10 82.95 12.79 82.70C12.49 82.44 12.17 82.17 11.83 81.88C11.51 81.59 11.18 81.26 10.83 80.92C10.49 80.58 10.13 80.23 9.78 79.85C9.43 79.46 9.08 79.06 8.72 78.64C8.34 78.23 8.00 77.78 7.65 77.32C7.30 76.86 6.94 76.38 6.60 75.90C5.94 74.90 5.24 73.86 4.65 72.75C4.01 71.66 3.51 70.49 2.96 69.34C2.50 68.15 2.00 66.97 1.65 65.77C1.24 64.59 0.98 63.38 0.71 62.23C0.59 61.65 0.49 61.07 0.41 60.51C0.31 59.94 0.22 59.39 0.18 58.85C0.14 58.31 0.09 57.79 0.05 57.28C0.01 56.77 0.01 56.28 0.00 55.81C0.00 55.33 -0.00 54.88 0.00 54.45C0.03 54.02 0.06 53.62 0.08 53.24C0.11 52.86 0.14 52.50 0.17 52.17C0.21 51.84 0.27 51.54 0.31 51.26C0.38 50.72 0.48 50.30 0.53 50.01C0.59 49.72 0.62 49.57 0.62 49.57C0.62 49.57 0.66 49.72 0.73 50.01C0.80 50.30 0.92 50.71 1.02 51.24C1.11 51.77 1.29 52.41 1.46 53.14C1.55 53.50 1.64 53.89 1.73 54.30C1.83 54.70 1.94 55.12 2.06 55.56C2.18 56.01 2.27 56.46 2.41 56.94C2.55 57.40 2.69 57.89 2.83 58.38C2.90 58.63 2.97 58.88 3.04 59.14C3.12 59.39 3.20 59.65 3.29 59.90C3.45 60.42 3.62 60.95 3.78 61.48C4.17 62.54 4.52 63.64 4.95 64.73C5.34 65.84 5.82 66.93 6.27 68.04C6.77 69.12 7.23 70.22 7.76 71.27C8.25 72.34 8.82 73.35 9.33 74.37C9.60 74.86 9.88 75.34 10.14 75.82C10.27 76.06 10.40 76.30 10.53 76.53C10.67 76.76 10.81 76.98 10.94 77.21C11.20 77.66 11.47 78.10 11.71 78.52C11.96 78.94 12.24 79.33 12.47 79.72C12.71 80.11 12.95 80.49 13.17 80.85C13.40 81.20 13.62 81.53 13.83 81.84C14.24 82.47 14.59 83.04 14.92 83.48C15.24 83.93 15.47 84.31 15.63 84.55C15.79 84.80 15.87 84.93 15.87 84.93Z' fill='%230073E6'/%3E%3Cpath d='M71.40 93.55C71.40 93.55 71.23 93.67 70.90 93.88C70.57 94.08 70.10 94.40 69.48 94.76C69.17 94.94 68.83 95.16 68.45 95.37C68.06 95.57 67.62 95.77 67.16 95.99C66.69 96.21 66.20 96.45 65.68 96.70C65.15 96.93 64.58 97.13 63.99 97.36C63.40 97.58 62.78 97.82 62.13 98.03C61.47 98.21 60.78 98.41 60.09 98.60C59.73 98.70 59.38 98.80 59.01 98.89C58.65 98.96 58.27 99.03 57.89 99.11C57.14 99.26 56.37 99.41 55.58 99.53C53.99 99.71 52.34 99.94 50.66 99.95C48.97 100.06 47.26 99.93 45.55 99.87C43.85 99.66 42.14 99.52 40.49 99.14C38.83 98.86 37.25 98.36 35.71 97.93C34.95 97.68 34.22 97.40 33.50 97.13C33.14 97.00 32.79 96.87 32.44 96.73C32.10 96.59 31.77 96.43 31.43 96.28C30.78 95.97 30.14 95.66 29.53 95.37C28.92 95.06 28.36 94.72 27.81 94.41C27.27 94.08 26.74 93.79 26.27 93.48C25.81 93.14 25.37 92.83 24.95 92.53C24.55 92.23 24.15 91.97 23.81 91.70C23.47 91.43 23.17 91.15 22.90 90.92C22.35 90.45 21.94 90.06 21.65 89.80C21.38 89.54 21.22 89.39 21.22 89.39C21.22 89.39 21.42 89.48 21.77 89.64C22.12 89.81 22.65 90.03 23.29 90.35C23.62 90.51 23.96 90.69 24.36 90.86C24.77 91.02 25.19 91.21 25.65 91.40C26.11 91.60 26.59 91.80 27.10 92.02C27.62 92.22 28.17 92.41 28.74 92.62C29.31 92.82 29.89 93.08 30.51 93.27C31.13 93.47 31.77 93.67 32.43 93.87C32.76 93.97 33.09 94.09 33.43 94.19C33.77 94.27 34.11 94.36 34.47 94.45C35.17 94.62 35.88 94.84 36.60 95.01C37.34 95.15 38.08 95.31 38.84 95.47C39.58 95.65 40.36 95.73 41.14 95.87C42.68 96.15 44.27 96.27 45.85 96.45C47.44 96.52 49.03 96.67 50.61 96.64C51.39 96.63 52.18 96.68 52.95 96.62C53.71 96.58 54.48 96.54 55.23 96.52C55.98 96.47 56.71 96.37 57.43 96.32C57.79 96.29 58.15 96.26 58.51 96.22C58.86 96.18 59.20 96.12 59.54 96.08C60.23 95.98 60.90 95.89 61.55 95.80C62.20 95.71 62.80 95.56 63.41 95.45C64.01 95.34 64.58 95.23 65.13 95.13C65.66 95.00 66.17 94.88 66.66 94.77C67.14 94.66 67.59 94.54 68.02 94.46C68.45 94.35 68.83 94.23 69.18 94.13C69.88 93.93 70.44 93.79 70.82 93.69C71.20 93.60 71.40 93.55 71.40 93.55Z' fill='%230073E6'/%3E%3Cpath d='M97.83 37.52C97.83 37.52 97.90 37.74 98.03 38.15C98.15 38.57 98.35 39.18 98.56 39.96C98.66 40.35 98.80 40.78 98.90 41.26C99.01 41.74 99.10 42.27 99.21 42.83C99.31 43.39 99.42 44 99.54 44.63C99.62 45.26 99.68 45.93 99.76 46.63C99.82 47.32 99.91 48.05 99.94 48.81C99.96 49.57 99.97 50.35 99.98 51.16C99.99 51.56 100.01 51.97 99.98 52.38C99.96 52.79 99.94 53.22 99.91 53.64C99.86 54.49 99.81 55.35 99.72 56.23C99.47 57.98 99.26 59.80 98.80 61.61C98.44 63.44 97.81 65.24 97.25 67.06C96.53 68.82 95.90 70.62 94.99 72.28C94.20 73.98 93.18 75.54 92.23 77.06C91.73 77.81 91.17 78.51 90.65 79.21C90.39 79.55 90.13 79.89 89.87 80.23C89.61 80.56 89.31 80.86 89.04 81.17C88.48 81.78 87.93 82.37 87.41 82.95C86.87 83.51 86.28 83.99 85.75 84.48C85.20 84.95 84.70 85.43 84.18 85.84C83.65 86.22 83.14 86.59 82.66 86.94C82.18 87.28 81.74 87.60 81.32 87.89C80.89 88.16 80.47 88.38 80.10 88.59C79.37 89.01 78.78 89.32 78.39 89.53C77.99 89.74 77.78 89.85 77.78 89.85C77.78 89.85 77.96 89.69 78.27 89.37C78.60 89.07 79.06 88.61 79.66 88.06C79.96 87.77 80.31 87.49 80.65 87.13C80.98 86.76 81.35 86.38 81.73 85.97C82.12 85.56 82.53 85.13 82.96 84.67C83.37 84.19 83.78 83.67 84.22 83.14C84.64 82.60 85.13 82.08 85.56 81.48C85.99 80.89 86.43 80.26 86.89 79.63C87.11 79.30 87.36 79.00 87.57 78.66C87.78 78.32 87.99 77.98 88.20 77.63C88.62 76.92 89.09 76.25 89.50 75.51C89.89 74.76 90.30 74.01 90.71 73.25L91.02 72.68C91.12 72.49 91.21 72.29 91.30 72.09C91.48 71.69 91.66 71.29 91.85 70.89C92.63 69.31 93.21 67.62 93.88 65.96C94.41 64.26 95.03 62.57 95.43 60.86C95.64 60.00 95.91 59.17 96.06 58.32C96.23 57.47 96.41 56.64 96.59 55.82C96.75 54.99 96.85 54.17 96.99 53.37C97.05 52.97 97.12 52.57 97.18 52.18C97.24 51.79 97.26 51.40 97.31 51.02C97.39 50.25 97.48 49.50 97.56 48.77C97.64 48.05 97.64 47.34 97.70 46.67C97.74 45.99 97.79 45.34 97.83 44.72C97.84 44.10 97.85 43.52 97.86 42.96C97.87 42.41 97.87 41.89 97.89 41.41C97.90 40.92 97.87 40.47 97.86 40.07C97.83 39.26 97.84 38.63 97.83 38.19C97.83 37.75 97.83 37.52 97.83 37.52Z' fill='%230073E6'/%3E%3Cpath d='M89.54 18.93C89.54 18.93 89.60 18.95 89.71 18.98C89.81 19.02 89.97 19.07 90.15 19.16C90.52 19.33 91.01 19.58 91.54 19.93C91.80 20.10 92.08 20.30 92.35 20.52C92.62 20.73 92.88 21.02 93.14 21.31C93.66 21.89 94.15 22.56 94.58 23.26C94.96 23.98 95.27 24.72 95.49 25.44C95.59 25.81 95.71 26.15 95.75 26.51C95.80 26.86 95.83 27.20 95.84 27.51C95.87 28.14 95.83 28.68 95.76 29.06C95.74 29.24 95.70 29.40 95.68 29.50C95.65 29.61 95.63 29.66 95.63 29.66C95.63 29.66 95.58 29.63 95.48 29.57C95.39 29.51 95.25 29.42 95.09 29.30C94.77 29.06 94.34 28.71 93.92 28.27C93.70 28.05 93.49 27.81 93.28 27.55C93.08 27.29 92.82 27.03 92.61 26.74C92.17 26.18 91.77 25.55 91.43 24.89C91.05 24.27 90.73 23.63 90.49 22.97C90.35 22.64 90.28 22.31 90.15 21.99C90.03 21.67 89.93 21.36 89.85 21.06C89.68 20.47 89.60 19.94 89.57 19.55C89.54 19.37 89.56 19.20 89.54 19.10C89.54 18.98 89.54 18.93 89.54 18.93Z' fill='%230073E6'/%3E%3Cpath d='M27.16 8.01C27.16 8.01 27.34 7.88 27.69 7.64C28.04 7.41 28.54 7.05 29.20 6.62C29.85 6.18 30.69 5.71 31.67 5.18C32.16 4.93 32.67 4.61 33.24 4.36C33.81 4.10 34.41 3.84 35.04 3.56C35.35 3.42 35.67 3.27 36.01 3.14C36.34 3.02 36.69 2.89 37.04 2.76C37.74 2.51 38.47 2.26 39.22 2.01C40.75 1.59 42.36 1.11 44.08 0.83C44.51 0.75 44.94 0.66 45.38 0.58C45.81 0.50 46.26 0.47 46.70 0.41C47.59 0.31 48.50 0.16 49.41 0.12C50.32 0.08 51.25 0.03 52.18 0.00L52.35 0L52.59 0.00L52.92 0.01L53.60 0.03L54.95 0.07L56.30 0.13C56.75 0.14 57.24 0.22 57.70 0.27C58.64 0.37 59.57 0.49 60.49 0.61C61.41 0.76 62.29 0.98 63.17 1.16C63.61 1.26 64.05 1.36 64.48 1.45C64.91 1.54 65.32 1.70 65.74 1.82C66.57 2.09 67.39 2.34 68.18 2.61C68.59 2.73 68.96 2.92 69.33 3.07C69.71 3.23 70.08 3.40 70.44 3.55C70.81 3.71 71.16 3.87 71.52 4.02C71.87 4.18 72.22 4.33 72.54 4.52C73.18 4.89 73.81 5.23 74.41 5.57C75.63 6.21 76.61 7.01 77.51 7.64C77.95 7.97 78.39 8.25 78.75 8.55C79.10 8.87 79.42 9.16 79.72 9.43C80.31 9.95 80.74 10.38 81.05 10.66C81.35 10.95 81.51 11.10 81.51 11.10C81.51 11.10 81.31 11.00 80.93 10.81C80.55 10.62 79.99 10.35 79.30 9.98C78.96 9.80 78.58 9.60 78.17 9.38C77.74 9.19 77.27 8.97 76.78 8.75C76.30 8.53 75.77 8.30 75.22 8.05C74.68 7.78 74.08 7.57 73.46 7.35C72.85 7.11 72.21 6.87 71.55 6.62C71.23 6.48 70.89 6.38 70.53 6.27C70.18 6.17 69.83 6.06 69.47 5.95C68.74 5.75 68.03 5.48 67.26 5.30C66.50 5.14 65.72 4.95 64.92 4.76C64.52 4.67 64.13 4.56 63.72 4.50C63.32 4.43 62.90 4.36 62.49 4.30C62.07 4.23 61.66 4.17 61.24 4.10C60.82 4.04 60.40 3.94 59.98 3.90C59.15 3.82 58.30 3.75 57.45 3.66C57.02 3.62 56.62 3.55 56.17 3.54L54.82 3.50L53.47 3.44L52.79 3.42L52.45 3.40L52.37 3.40H52.32H52.30C52.28 3.40 52.41 3.40 52.35 3.40L52.19 3.40C51.32 3.43 50.46 3.43 49.60 3.44C49.17 3.43 48.74 3.48 48.32 3.51C47.90 3.53 47.47 3.56 47.05 3.59C46.21 3.62 45.39 3.72 44.57 3.82C42.94 3.96 41.38 4.27 39.88 4.50C39.14 4.65 38.43 4.80 37.73 4.95C37.38 5.02 37.04 5.10 36.70 5.16C36.37 5.25 36.04 5.34 35.72 5.42C35.08 5.58 34.46 5.74 33.87 5.89C33.28 6.03 32.74 6.23 32.22 6.38C31.20 6.70 30.26 6.94 29.53 7.22C28.78 7.49 28.18 7.68 27.78 7.81C27.37 7.94 27.16 8.01 27.16 8.01Z' fill='%230073E6'/%3E%3C/svg%3E");
}

.areas-sec {
  padding: 80px 0;
  border-top: 1px solid var(--border-color);
}

.areas-sec .th-btn {
  min-width: 150px;
  cursor: default;
}

/* Stacked layouts (< 1200px): keep section photos from filling the screen */
@media (max-width: 1199px) {
  .img-box5 img,
  .faq-img1 img {
    width: 100%;
    max-height: 480px;
    object-fit: cover;
  }
}

@media (max-width: 575px) {
  .img-box5 img,
  .faq-img1 img {
    max-height: 300px;
  }
}

/* ---------- 06. Courses (homepage carousel) ---------- */
/* Room under the cards for the car that drives across the section */
.lesson-sec {
  padding-bottom: 190px;
}

.movingCar {
  animation: movingCar 25s linear infinite;
}

.lesson-box .course-box_img {
  aspect-ratio: 3 / 2;
}

.lesson-box .course-box_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lesson-box .course-box_img .price {
  font-size: 18px;
}

.lesson-box .course-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 20px;
}

.lesson-box .course-meta span {
  margin-right: 0;
}

.lesson-box .box-title {
  font-size: 22px;
  margin-bottom: 12px;
}

.lesson-box .box-title a {
  color: inherit;
}

.lesson-box .box-title a:hover {
  color: var(--theme-color);
}

.lesson-box .th-btn {
  align-self: flex-start;
}

@media (max-width: 991px) {
  .lesson-sec {
    padding-bottom: 150px;
  }
}

@media (max-width: 767px) {
  .lesson-sec {
    padding-bottom: 120px;
  }
  .lesson-box {
    padding: 20px;
  }
  .lesson-box .box-title {
    font-size: 20px;
  }
  .movingCar img {
    width: 200px;
    height: auto;
  }
}

/* ---------- 07. Price table ---------- */
.price-table-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: var(--white-color);
  border-radius: 15px;
  box-shadow: 0 6px 30px rgba(172, 172, 172, 0.24);
  overflow: hidden;
}

.price-table {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  table-layout: fixed;
}

.price-table th,
.price-table td {
  border: 0;
  padding: 16px 24px;
  vertical-align: middle;
}

.price-table thead th {
  background-color: var(--title-color);
  color: var(--white-color);
  font-family: var(--title-font);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}

.price-table thead th:first-child {
  width: 44%;
  text-align: left;
}

.price-table tbody tr {
  border-bottom: 1px solid var(--border-color);
  transition: background-color 0.3s;
}

.price-table tbody tr:nth-child(even) {
  background-color: var(--smoke-color);
}

.price-table tbody tr:hover {
  background-color: var(--smoke-color2);
}

.price-table tbody th {
  text-align: left;
  font-weight: 400;
}

.price-table .lesson-name {
  display: block;
  font-family: var(--title-font);
  font-size: 18px;
  font-weight: 700;
  color: var(--title-color);
}

.price-table .lesson-note {
  display: block;
  font-size: 14px;
  color: var(--body-color);
}

.price-table td {
  text-align: center;
  color: var(--body-color);
  white-space: nowrap;
}

.price-table td strong {
  font-family: var(--title-font);
  font-size: 24px;
  font-weight: 800;
  color: var(--title-color);
}

.price-table td span {
  font-size: 14px;
  margin-left: 2px;
}

.price-table .is-best {
  background-color: var(--smoke-color2) !important;
}

.price-table .is-best td strong {
  color: var(--theme-color);
}

.best-tag {
  display: inline-block;
  margin-left: 8px;
  padding: 4px 8px;
  border-radius: 4px;
  background-color: var(--theme-color);
  color: var(--white-color);
  font-family: var(--body-font);
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: 3px;
}

.price-table-foot {
  margin-top: auto;
  padding: 24px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.price-table-note {
  flex: 1 1 280px;
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
}

.price-table-note i {
  color: var(--theme-color);
  margin-right: 6px;
}

@media (max-width: 575px) {
  .price-table th,
  .price-table td {
    padding: 12px 10px;
  }
  .price-table thead th {
    font-size: 13px;
  }
  .price-table thead th:first-child {
    width: 40%;
  }
  .price-table .lesson-name {
    font-size: 15px;
  }
  .price-table .lesson-note {
    font-size: 12px;
  }
  .price-table td strong {
    font-size: 19px;
  }
  .price-table td span {
    font-size: 12px;
  }
  .best-tag {
    display: table;
    margin: 4px 0 2px;
  }
  .price-table-foot {
    padding: 20px 16px;
  }
  .price-table-foot .btn-group,
  .price-table-foot .th-btn {
    width: 100%;
  }
}

/* ---------- 08. Opening hours card ---------- */
.hours-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 36px;
  border-radius: 15px;
  color: var(--white-color);
  background-color: var(--title-color);
  background-image: repeating-linear-gradient(-45deg, transparent 0, transparent 14px, rgba(255, 255, 255, 0.025) 14px, rgba(255, 255, 255, 0.025) 15px), radial-gradient(circle at 100% 0, rgba(0, 115, 230, 0.45), transparent 55%);
  box-shadow: 0 6px 30px rgba(25, 24, 37, 0.25);
}

.hours-card_head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 22px;
}

.hours-card_icon {
  flex: none;
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background-color: var(--theme-color);
  font-size: 22px;
}

.hours-card_title {
  color: var(--white-color);
  font-size: 26px;
  margin: 0 0 2px;
}

.hours-card_text {
  margin: 0;
  color: #BDBDBD;
  font-size: 15px;
}

.hours-list {
  list-style: none;
  padding: 0;
  margin: 0 0 26px;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.hours-list li {
  flex: 1 1 auto;
}

.hours-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 14px;
  border-radius: 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.hours-list li:last-child {
  border-bottom: 0;
}

.hours-list .day {
  font-family: var(--title-font);
  font-weight: 600;
  font-size: 16px;
}

.hours-list .time {
  text-align: right;
  font-size: 15px;
  line-height: 1.45;
  color: #D6D6D6;
}

.hours-list .is-closed .time {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 4px;
  background-color: rgba(226, 68, 68, 0.18);
  color: #FF8A8A;
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.hours-list .is-today {
  background-color: rgba(0, 115, 230, 0.22);
  border-bottom-color: transparent;
}

.hours-list .is-today .day:after {
  content: 'Today';
  margin-left: 8px;
  padding: 3px 7px;
  border-radius: 4px;
  background-color: var(--theme-color);
  font-family: var(--body-font);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  vertical-align: 2px;
}

.hours-card .th-btn {
  margin-top: auto;
}

@media (max-width: 575px) {
  .hours-card {
    padding: 26px 18px;
  }
  .hours-list li {
    padding: 9px 8px;
  }
}

/* ---------- 09. Instructor card ---------- */
.team-box-single {
  max-width: 480px;
  margin: 0 auto;
  box-shadow: 0 10px 40px rgba(25, 24, 37, 0.12);
}

.team-box-single .team-img {
  aspect-ratio: 4 / 5;
  background: radial-gradient(circle at 50% 30%, #3D8FE8 0, #0073E6 45%, #0052A3 100%);
}

.team-box-single .team-img:before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(-45deg, transparent 0, transparent 14px, rgba(255, 255, 255, 0.06) 14px, rgba(255, 255, 255, 0.06) 15px);
}

/* The portrait is cut to the card's 4:5 frame at full width, so the shoulders
   run to the card edges instead of stopping short inside it. */
.team-box-single .team-img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: 50% 100%;
  transform-origin: bottom center;
}

.team-box-single:hover .team-img img {
  transform: scale(1.04);
}

.team-box-single .team-content {
  padding: 26px 30px;
  justify-content: space-between;
}

.team-box-single .box-title {
  font-size: 26px;
}

.team-box-single .icon-btn {
  flex: none;
  --btn-size: 52px;
  --btn-font-size: 22px;
  padding: 0;
}

.team-box-single .th-social {
  bottom: 84px;
  right: 33px;
}

.team-box.is-open .th-social {
  transform: scaleY(1);
}

.team-box.is-open .icon-btn {
  transform: rotate(45deg);
}

.team-intro .title-area {
  margin-bottom: 25px;
}

.team-intro_text {
  font-size: 17px;
  margin-bottom: 25px;
}

.team-intro .checklist.style2 li {
  font-size: 17px;
}

@media (max-width: 991px) {
  .team-intro {
    text-align: center;
  }
  .team-intro .checklist {
    display: inline-block;
    text-align: left;
  }
  .team-intro .btn-group {
    justify-content: center;
  }
}

@media (max-width: 575px) {
  .team-box-single .team-content {
    padding: 20px;
  }
  .team-box-single .box-title {
    font-size: 22px;
  }
  .team-box-single .th-social {
    bottom: 78px;
    right: 23px;
  }
}

/* ---------- 10. Testimonials ---------- */
.testi-card_avater {
  width: 60px;
  min-width: 60px;
}

.testi-card_avater img {
  width: 50px;
  height: 50px;
}

.testi-card_text {
  min-height: 140px;
}

.testi-card_profile {
  padding-right: 44px;
}

.contact-feature {
  height: 100%;
}

.contact-map iframe {
  width: 100%;
  min-height: 380px;
}

.testi-slider .slick-dots {
  margin-top: 40px;
}

/* ---------- 11. Booking forms ---------- */
/* Spam trap: visible to bots that fill every field, not to people */
.form-hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.booking-sec {
  padding-bottom: var(--section-space);
  background-color: var(--title-color);
}

.booking-sec .sec-text a {
  color: var(--white-color);
  font-weight: 600;
  text-decoration: underline;
}

.home-booking-form {
  max-width: 860px;
  margin: 0 auto;
  padding: 40px;
  border-radius: 15px;
  background-color: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.home-booking-form label {
  display: block;
  margin-bottom: 8px;
  color: var(--white-color);
  font-weight: 500;
}

.home-booking-form .form-control,
.home-booking-form .form-select {
  height: 56px;
  border-radius: 6px;
}

.booking-form .form-group {
  margin-bottom: 20px;
}

.captcha-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.captcha-row canvas {
  border-radius: 6px;
  flex: none;
}

.captcha-row .icon-btn {
  --btn-size: 46px;
  flex: none;
  padding: 0;
  border-radius: 6px;
  background-color: var(--white-color);
  color: var(--theme-color);
}

.captcha-row .form-control {
  flex: 1 1 200px;
  min-width: 0;
}

.captcha-error {
  margin: 8px 0 0;
  color: #FF8A8A;
}

.contact-form .captcha-error,
.widget-form .captcha-error {
  color: #dc3545;
}

.contact-form .captcha-row .icon-btn {
  border: 1px solid var(--border-color);
}

.form-messages.success {
  color: #3CCB7F;
}

.form-messages.error {
  color: #FF8A8A;
}

.contact-form .form-messages.error,
.widget-form .form-messages.error {
  color: #dc3545;
}

.booking-form .is-invalid {
  border-color: #dc3545 !important;
}

@media (max-width: 575px) {
  .home-booking-form {
    padding: 24px 16px;
  }
}

/* ---------- 12. Areas & pass gallery ---------- */
.pass-sec {
  overflow: hidden;
}

.pass-head {
  margin-bottom: 50px;
}

.pass-head_text {
  margin-bottom: 18px;
  font-size: 17px;
}

/* Photos sit on a strip of road with a dashed centre line */
.pass-gallery {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px;
  padding: 10px 0 84px;
}

.pass-gallery:before {
  content: '';
  position: absolute;
  left: -40px;
  right: -40px;
  bottom: 0;
  height: 112px;
  border-radius: 10px;
  background-color: var(--title-color);
  background-image: repeating-linear-gradient(-45deg, transparent 0, transparent 14px, rgba(255, 255, 255, 0.03) 14px, rgba(255, 255, 255, 0.03) 15px);
}

.pass-gallery:after {
  content: '';
  position: absolute;
  left: -20px;
  right: -20px;
  bottom: 52px;
  height: 4px;
  border-radius: 4px;
  background-image: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.85) 0, rgba(255, 255, 255, 0.85) 34px, transparent 34px, transparent 62px);
}

.pass-card {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 12px 12px 0;
  border-radius: 16px;
  background-color: var(--white-color);
  box-shadow: 0 14px 34px rgba(25, 24, 37, 0.16);
  transition: transform 0.4s ease-in-out, box-shadow 0.4s ease-in-out;
}

.pass-card:nth-child(odd) {
  transform: rotate(-1.6deg);
}

.pass-card:nth-child(even) {
  transform: rotate(1.6deg) translateY(26px);
}

.pass-card:hover {
  transform: rotate(0) translateY(-6px);
  box-shadow: 0 22px 44px rgba(25, 24, 37, 0.24);
}

.pass-card_img {
  display: block;
  position: relative;
  width: 100%;
  padding: 0;
  border: 0;
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  background-color: var(--smoke-color);
  cursor: zoom-in;
}

.pass-card_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease-in-out;
}

.pass-card:hover .pass-card_img img {
  transform: scale(1.05);
}

.pass-card_zoom {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--white-color);
  font-size: 26px;
  opacity: 0;
  background-color: rgba(25, 24, 37, 0.45);
  transition: opacity 0.35s ease-in-out;
}

.pass-card_img:hover .pass-card_zoom,
.pass-card_img:focus-visible .pass-card_zoom {
  opacity: 1;
}

.pass-card_badge {
  position: absolute;
  top: 24px;
  left: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 16px 8px 14px;
  background-color: var(--theme-color);
  color: var(--white-color);
  font-family: var(--title-font);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  border-radius: 0 20px 20px 0;
  box-shadow: 0 6px 14px rgba(0, 115, 230, 0.35);
}

.pass-card_caption {
  padding: 14px 6px 16px;
  text-align: center;
  font-family: var(--title-font);
  font-size: 16px;
  font-weight: 700;
  color: var(--title-color);
  line-height: 1.3;
}

.pass-card_caption span {
  display: block;
  font-family: var(--body-font);
  font-size: 14px;
  font-weight: 400;
  color: var(--body-color);
}

/* Lightbox (built by main.js) */
.pass-lightbox {
  border: 0;
  padding: 0;
  max-width: min(92vw, 560px);
  max-height: 92vh;
  border-radius: 16px;
  background-color: var(--white-color);
  overflow: visible;
}

.pass-lightbox::backdrop {
  background-color: rgba(25, 24, 37, 0.82);
}

.pass-lightbox img {
  display: block;
  max-width: 100%;
  max-height: 88vh;
  border-radius: 16px;
}

.pass-lightbox_close {
  position: absolute;
  top: -18px;
  right: -18px;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background-color: var(--theme-color);
  color: var(--white-color);
  font-size: 18px;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(25, 24, 37, 0.35);
}

@media (max-width: 991px) {
  .pass-head {
    margin-bottom: 36px;
  }
  .pass-gallery {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    padding-bottom: 70px;
  }
  .pass-gallery:before {
    height: 92px;
  }
  .pass-gallery:after {
    bottom: 43px;
  }
  .pass-card:nth-child(even) {
    transform: rotate(1.6deg) translateY(14px);
  }
}

@media (max-width: 575px) {
  .pass-card {
    padding: 8px 8px 0;
    border-radius: 12px;
  }
  .pass-card_badge {
    top: 18px;
    padding: 6px 12px 6px 10px;
    font-size: 12px;
  }
  .pass-card_caption {
    padding: 10px 4px 12px;
    font-size: 14px;
  }
  .pass-card_caption span {
    font-size: 12px;
  }
}

/* ---------- 13. Footer ---------- */
.footer-layout3 .footer-top {
  background-color: var(--white-color);
  border: 1px solid var(--border-color);
  border-top: 0;
  border-radius: 0 0 15px 15px;
  overflow: hidden;
}

.footer-layout3 .footer-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 190px;
  padding: 24px 80px 24px 40px;
}

.footer-layout3 .footer-logo img {
  width: 140px;
  height: 140px;
  max-height: none;
  filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.25));
}

.contact-media {
  justify-content: flex-start;
  gap: 18px;
  padding: 30px;
}

.contact-media .icon-btn {
  flex: none;
  --btn-size: 60px;
  width: 60px;
  height: 60px;
  line-height: 58px;
  font-size: 26px;
  padding: 0;
}

.contact-media .media-body {
  min-width: 0;
}

.contact-media .box-title {
  margin: 0;
  font-size: 22px;
  line-height: 1.3;
  overflow-wrap: break-word;
}

.contact-media .box-title a {
  color: var(--title-color);
}

.contact-media .box-title a:hover {
  color: var(--theme-color);
}

.footer-layout3 .widget-area {
  padding-top: 100px;
  padding-bottom: 50px;
}

.footer-layout3 .footer-text {
  margin-bottom: 18px;
}

.footer-address {
  display: flex;
  gap: 10px;
  margin-bottom: 24px;
}

.footer-address i {
  color: var(--theme-color);
  margin-top: 5px;
}

.footer-layout3 .th-social a {
  background-color: var(--white-color);
  color: var(--title-color);
  box-shadow: 0 4px 12px rgba(25, 24, 37, 0.08);
}

.footer-layout3 .th-social a:hover {
  background-color: var(--theme-color);
  color: var(--white-color);
}

.footer-widget .menu,
.office-hours-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.office-hours-list li {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px dashed var(--border-color);
}

.office-hours-list li:first-child {
  padding-top: 0;
}

.office-hours-list .day {
  color: var(--title-color);
  font-weight: 500;
}

.office-hours-list .time {
  text-align: right;
  white-space: nowrap;
}

.office-hours-list .closed {
  color: #D93A3A;
  font-weight: 600;
}

@media (min-width: 1200px) {
  .footer-layout3 .widget-area .col-xl-auto {
    flex: 0 0 auto;
    width: 22%;
  }
  .footer-layout3 .widget-area .col-xl-auto:last-child {
    width: 26%;
  }
}

@media (max-width: 1199px) {
  .footer-layout3 .footer-logo {
    padding: 20px 60px 20px 24px;
  }
  .footer-layout3 .footer-logo img {
    width: 120px;
    height: 120px;
  }
  .contact-media {
    padding: 24px 16px;
    gap: 14px;
  }
  .contact-media .icon-btn {
    width: 52px;
    height: 52px;
    line-height: 50px;
    font-size: 22px;
  }
  .contact-media .box-title {
    font-size: 19px;
  }
}

@media (max-width: 991px) {
  .contact-media .box-title {
    font-size: 18px;
  }
}

@media (max-width: 991px) {
  .footer-layout3 .footer-logo {
    min-height: 0;
    padding: 26px;
    -webkit-clip-path: none;
            clip-path: none;
  }
  .contact-media {
    padding: 26px 20px;
  }
  .footer-layout3 .widget-area {
    padding-top: 70px;
    padding-bottom: 20px;
  }
}

@media (max-width: 767px) {
  .contact-media.has-border {
    border-left: 0;
    border-top: 1px solid var(--border-color);
  }
}

.copyright-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 4px 24px;
}

.copyright-row .copyright-text {
  margin: 0;
}

.dev-credit a {
  color: var(--white-color);
  font-weight: 600;
}

.dev-credit a:hover {
  color: var(--theme-color);
}

@media (max-width: 767px) {
  .copyright-row {
    justify-content: center;
    text-align: center;
  }
}

/* ---------- 14. Courses page ---------- */
.lesson-card {
  height: 100%;
  flex-direction: column;
  gap: 24px;
}

.lesson-card .course-card_img {
  flex: none;
  aspect-ratio: 3 / 2;
  max-height: none;
}

.lesson-card .course-card_content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.lesson-card .price-wrap {
  padding: 0 20px 0 0;
  margin-bottom: 22px;
  border-radius: 25px 0 0 0;
}

.lesson-card .price-wrap:before {
  display: none;
}

.lesson-card .price-wrap .price {
  padding: 10px 30px 10px 22px;
  background-color: var(--title-color);
  font-size: 19px;
  white-space: nowrap;
  -webkit-clip-path: polygon(0 0, 100% 0, calc(100% - 16px) 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, calc(100% - 16px) 100%, 0 100%);
}

.lesson-card .price-wrap .category {
  white-space: nowrap;
  font-size: 15px;
}

.lesson-card .box-title {
  font-size: 24px;
  margin-bottom: 12px;
}

.lesson-card .course-card_text {
  margin-bottom: 16px;
}

.lesson-card .checklist {
  margin-bottom: 24px;
}

.lesson-card .checklist li {
  font-size: 15px;
  margin-bottom: 6px;
}

.lesson-card .checklist li i {
  color: var(--theme-color);
}

.lesson-card_btns {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 26px;
}

.lesson-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 44px 50px;
  border-radius: 15px;
  background-color: var(--theme-color);
  background-image: repeating-linear-gradient(-45deg, transparent 0, transparent 14px, rgba(255, 255, 255, 0.07) 14px, rgba(255, 255, 255, 0.07) 15px);
  color: var(--white-color);
}

.lesson-cta_title {
  color: var(--white-color);
  font-size: 32px;
  margin-bottom: 8px;
}

.lesson-cta_text {
  margin: 0;
  color: rgba(255, 255, 255, 0.85);
  max-width: 640px;
}

.lesson-cta .th-btn.style4 {
  background-color: var(--title-color);
}

@media (max-width: 767px) {
  .lesson-card {
    padding: 20px;
  }
  .lesson-card .price-wrap {
    max-width: none;
    margin-right: -20px;
  }
  .lesson-cta {
    padding: 32px 24px;
    text-align: center;
    justify-content: center;
  }
  .lesson-cta .btn-group {
    justify-content: center;
  }
  .lesson-cta_title {
    font-size: 26px;
  }
}

/* ---------- 15. Carousels: equal-height cards ---------- */
.th-carousel.slick-initialized .slick-track:has(> .slick-slide > .course-box),
.th-carousel.slick-initialized .slick-track:has(> .slick-slide > .testi-card) {
  display: flex;
}

.th-carousel .slick-slide:has(> .course-box),
.th-carousel .slick-slide:has(> .testi-card) {
  height: auto;
  float: none;
}

.th-carousel .slick-slide > .course-box,
.th-carousel .slick-slide > .testi-card {
  height: 100%;
}

.course-box {
  display: flex;
  flex-direction: column;
}

.course-box_text {
  flex: 1 1 auto;
}

.price-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.price-card_content {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.price-card_content .checklist {
  flex-grow: 1;
}

/* ---------- 16. Small screens ---------- */
@media (max-width: 767px) {
  .sec-text {
    font-size: 16px;
  }
  .areas-sec {
    padding: 60px 0;
  }
  .areas-sec .th-btn {
    min-width: 130px;
    padding: 18px 20px;
  }
}

@media (max-width: 375px) {
  .th-btn {
    min-width: 0;
  }
}
