/*
Items Name : Ales
Author : Ngetemplates
-------------------------------- */
/* ------------------------------
  Import Google Web Font
---------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Heebo:wght@100;200;300;400;500;600;700;800;900&family=Raleway:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
/* ------------------------------
  General
---------------------------------*/
html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}

body {
  margin: 0;
  padding: 0;
  font-size: 16px;
  font-family: 'Raleway', sans-serif;
  background: #090909;
  color: #dddddd;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Heebo', sans-serif;
  padding: 0;
  margin: 0;
  color: #ffffff;
  text-transform: uppercase;
}

h1 {
  font-size: 60px;
  line-height: 70px;
  font-weight: 700;
  position: relative;
  margin-bottom: 20px;
}

h2 {
  font-size: 42px;
  font-weight: 700;
  line-height: 55px;
  margin-bottom: 20px;
}

h3 {
  font-size: 28px;
  font-weight: 700;
}

h4 {
  font-size: 22px;
  font-weight: 600;
}

h5 {
  font-size: 20px;
  font-weight: 600;
  line-height: 22px;
}

h6 {
  font-size: 18px;
}

a {
  text-decoration: none;
  color: #464646;
}

a:hover {
  color: #333;
}

p {
  margin: 5px 0 15px;
  line-height: 28px;
  letter-spacing: 0.5px;
}

ul {
  padding: 0;
  margin: 0;
}
ul li {
  list-style: none;
}

img {
  width: 100%;
}

/* ------------------------------
  loader
---------------------------------*/
.loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background-color: #090909;
}

.loader .loading {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.loader .loading .aloader {
  background: #ffd700;
}

/* ------------------------------
  button
---------------------------------*/
.button {
  padding: 12px 30px;
  background: #ffd700;
  color: #090909;
  font-size: 13px;
  letter-spacing: 1px;
  border-radius: 0;
  border: 0;
  transition: 0.2s;
  font-weight: 600;
}

.button:hover {
  background: #ffffff;
  color: #090909;
  border-color: transparent;
}

/* ------------------------------
  navbar
---------------------------------*/
.navbar {
  top: 0;
  position: fixed;
  width: 100%;
  z-index: 99;
  padding: 0;
  text-align: center;
}
.navbar .container {
  padding-top: 25px;
  padding-bottom: 25px;
  border-bottom: 1px solid #ffd700;
}
.navbar .navbar-brand {
  text-align: left;
  width: 18%;
}
.navbar .navbar-brand img {
  height: 45px;
  width: auto;
  position: relative;
  top: -4px;
}
.navbar .navbar-brand:hover {
  color: #ffffff;
}
.navbar .navbar-toggler {
  padding: 0;
}
.navbar .navbar-toggler i {
  font-size: 32px;
  color: #fff;
}
.navbar .navbar-toggler:focus {
  box-shadow: none;
}
.navbar .navbar-collapse {
  position: relative;
  width: 60%;
  text-align: center;
  left: -10px;
}
.navbar .navbar-nav li {
  padding: 0 10px;
}
.navbar .navbar-nav li a {
  color: #ffffff;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.navbar .navbar-nav li a:hover {
  color: #ffd700;
}
.navbar .navbar-nav li .button {
  color: #fff;
  margin-top: -3px;
  display: inline-block;
  margin-right: -15px;
}
.navbar .button-navbar {
  width: 20%;
  float: right;
  text-align: right;
}
.navbar .button-navbar li {
  display: inline-block;
  margin-left: 15px;
}

.navbar-fixed {
  background: #090909;
}

/* ------------------------------
  intro
---------------------------------*/
.intro {
  padding-top: 210px;
  padding-bottom: 0;
}
.intro .content-text {
  position: relative;
  top: -35px;
}
.intro .entry {
  padding: 0;
}
.intro .entry .button {
  margin-top: 20px;
}
.intro span {
  font-size: 20px;
  text-transform: uppercase;
  display: block;
  font-weight: 700;
  letter-spacing: 1px;
  color: #ffd700;
}

/* ------------------------------
  about
---------------------------------*/
.about {
  padding-top: 120px;
}
.about h2 {
  padding-left: 100px;
  padding-right: 100px;
}
.about .content-left img {
  margin-top: 75px;
}
.about .content-right img {
  margin-bottom: 20px;
}
.about .content-right .button {
  margin-top: 20px;
}

/* ------------------------------
gallery
---------------------------------*/
.gallery {
  padding-top: 120px;
}
.gallery h2 {
  text-align: center;
  background: #090909;
  display: inline-block;
  padding: 25px;
  margin: auto;
  left: 50%;
  position: relative;
  z-index: 1;
  transform: translate(-50%);
}
.gallery .divider {
  height: 5px;
  width: 100%;
  background: #ffd700;
  position: relative;
  top: -84px;
}

/* ------------------------------
  pricing
---------------------------------*/
.pricing {
  padding-top: 140px;
}
.pricing .content {
  border: 2px solid #ffd700;
  padding: 40px;
}
.pricing .content ul {
  margin-bottom: 30px;
}
.pricing .content ul li {
  padding: 8px 0;
}
.pricing .content ul li i {
  color: #ffd700;
  margin-right: 15px;
}

/* ------------------------------
  contact
---------------------------------*/
.contact {
  padding-top: 120px;
  padding-bottom: 90px;
}
.contact .icon {
  float: left;
  margin-right: 20px;
}
.contact .text {
  overflow: hidden;
}
.contact .content-map {
  margin-bottom: 40px;
  position: relative;
}
.contact .icon i {
  height: 60px;
  width: 60px;
  background: #ffd700;
  text-align: center;
  line-height: 60px;
  color: #090909;
  font-size: 25px;
  margin-bottom: 20px;
}
.contact h5 {
  margin-top: 11px;
}
.contact .text span,
.contact .open span {
  font-variant-numeric: lining-nums tabular-nums;
  font-feature-settings: "lnum" 1, "tnum" 1;
}
.contact .content-map iframe {
  width: 100%;
}
.contact .open {
  background: #ffd700;
  color: #090909;
  height: 100%;
  text-align: center;
  border: 25px double #090909;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  padding: 30px 15px;
}
.contact .open-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.contact .open h3 {
  color: #090909;
}
.contact .open span {
  font-size: 22px;
  margin-bottom: 0;
  display: block;
}

/* ------------------------------
  testimonial
---------------------------------*/
.testimonial {
  padding: 150px 0;
}
.testimonial .swiper-button-next, .testimonial .swiper-button-prev {
  color: #ffd700;
}
.testimonial .swiper-button-next::after, .testimonial .swiper-button-prev::after {
  font-size: 30px;
}

.testimonial .swiper .content {
  text-align: center;
  padding: 0 25%;
  color: #fff;
}

.testimonial .swiper .content span {
  font-weight: 600;
  font-size: 14px;
  position: relative;
  color: #ddd;
}

.testimonial .swiper .content h5 {
  font-size: 16px;
  color: #fff;
}

/* ------------------------------
  footer
---------------------------------*/
footer {
  padding: 35px 0 35px;
  font-size: 16px;
  font-weight: 500;
  background: #ffd700;
  color: #090909;
}
footer ul li {
  display: inline-block;
  margin-right: 10px;
}
footer ul li a i {
  font-size: 20px;
  color: #090909;
}
footer .cp {
  text-align: right;
}

/* ------------------------------
  responsive
---------------------------------*/
@media (max-width: 991px) {
  .navbar .navbar-collapse {
    background: #090909;
    padding-bottom: 25px;
  }

  .navbar .button-navbar {
    display: none;
  }

  .navbar .container {
    background: #090909;
  }

  .intro .col-md {
    flex: 100%;
  }

  .pricing .col-md-left {
    flex: 100%;
  }

  .contact .open {
    padding-top: 33%;
  }
}
@media (max-width: 767px) {
  .about h2 {
    padding-left: 0;
    padding-right: 0;
  }

  .about .content-left img {
    margin-top: 30px;
  }

  .testimonial .swiper .content {
    padding: 0 12%;
  }

  .contact h2 {
    margin-top: 30px;
  }

  .contact .open {
    padding-top: 5%;
  }
}
@media (max-width: 575px) {
  .container {
    padding: 0 25px;
  }

  .navbar .navbar-collapse {
    padding-top: 30px;
  }

  h1 {
    line-height: 50px;
    font-size: 42px;
  }

  h2 {
    font-size: 30px;
    line-height: 38px;
  }

  .intro .entry {
    padding: 0;
  }

  .about {
    padding-left: 0;
    padding-right: 0;
  }

  .gallery .divider {
    display: none;
  }

  .contact .open {
    padding-top: 8%;
  }

  footer {
    text-align: center;
  }
  footer .cp {
    text-align: center;
    margin-top: 15px;
  }
}

/* ===== Booking modal ===== */
.book-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:20px;}
.book-modal.open{display:flex;}
.book-overlay{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(3px);}
.book-card{position:relative;width:100%;max-width:440px;background:#111;border:1px solid #2a2a2a;border-top:3px solid #ffd700;border-radius:14px;padding:38px 34px 30px;box-shadow:0 24px 60px rgba(0,0,0,.6);animation:bookIn .25s ease;}
@keyframes bookIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
.book-close{position:absolute;top:12px;right:16px;background:none;border:0;color:#888;font-size:30px;line-height:1;cursor:pointer;transition:color .2s;}
.book-close:hover{color:#ffd700;}
.book-card h3{color:#fff;font-size:24px;font-weight:800;margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px;}
.book-sub{color:#9a9a9a;font-size:15px;margin:0 0 22px;line-height:1.5;}
.book-card form{display:flex;flex-direction:column;gap:14px;}
.book-card input{width:100%;background:#1b1b1b;border:1px solid #333;border-radius:9px;padding:14px 16px;color:#fff;font-size:15px;font-family:inherit;transition:border-color .2s;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1;}
.book-card input::placeholder{color:#777;}
.book-card input:focus{outline:none;border-color:#ffd700;}
.book-submit{margin-top:4px;width:100%;cursor:pointer;}
.book-submit:disabled{opacity:.6;cursor:not-allowed;}
.book-status{font-size:14px;min-height:18px;text-align:center;margin-top:2px;}
.book-status.ok{color:#7dd55f;}
.book-status.err{color:#ff6b6b;}

/* ===== App store badges (hero) — white ===== */
.store-badges{display:flex;gap:16px;margin-top:64px;flex-wrap:wrap;}
.store-badge{display:inline-flex;align-items:center;gap:11px;min-width:220px;background:#fff;border-radius:14px;padding:8px 20px;text-decoration:none;box-shadow:0 8px 22px rgba(0,0,0,.35);transition:transform .2s,box-shadow .2s;}
.store-badge:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(255,215,0,.28);}
.store-badge .sb-logo{flex:none;display:block;}
.store-badge span{display:flex;flex-direction:column;line-height:1.15;text-align:left;}
.store-badge small{color:#5f5f5f;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;}
.store-badge strong{color:#111;font-size:19px;font-weight:800;letter-spacing:.2px;}
@media (max-width:600px){.store-badges{justify-content:center;}}

/* ------------------------------
  directions (Наші напрямки)
---------------------------------*/
.directions{padding-top:120px;}
.directions h2{text-align:center;margin-bottom:45px;}
.dir-card{background:#111;border:1px solid #222;border-radius:14px;overflow:hidden;height:100%;transition:border-color .25s,transform .25s;}
.dir-card:hover{border-color:#ffd700;transform:translateY(-5px);}
.dir-img{aspect-ratio:4/3;overflow:hidden;background:#0d0d0d;}
.dir-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s;}
.dir-card:hover .dir-img img{transform:scale(1.06);}
.dir-body{padding:20px 22px 24px;}
.dir-body h4{color:#fff;text-transform:uppercase;margin-bottom:8px;font-size:20px;letter-spacing:.5px;}
.dir-body p{color:#9a9a9a;font-size:14px;line-height:1.55;margin:0;}

/* pricing section hidden for now */
.pricing{display:none;}

/* gallery section hidden for now */
.gallery{display:none;}

/* map action buttons */
.map-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap;}
.map-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:9px;font-size:13px;font-weight:600;letter-spacing:.3px;text-decoration:none;transition:all .2s;line-height:1;}
.map-btn i{font-size:15px;line-height:1;display:flex;align-items:center;}
.map-btn span{line-height:1;display:inline-block;}
.map-btn-primary{background:#ffd700;color:#090909;}
.map-btn-primary i{color:#090909;}
.map-btn-primary:hover{background:#fff;color:#090909;transform:translateY(-2px);}
.map-btn-ghost{background:transparent;color:#eaeaea;border:1px solid #3a3a3a;}
.map-btn-ghost:hover{border-color:#ffd700;color:#ffd700;transform:translateY(-2px);}
.contact .text a{color:inherit;text-decoration:none;}
.contact .text a:hover{color:#ffd700;}
@media (max-width:600px){.map-actions{justify-content:center;}}

/* testimonial section hidden for now */
.testimonial{display:none;}

/* footer app-store icon separator */
footer .footer-sep{width:1px;height:18px;background:rgba(9,9,9,.35);margin:0 6px 0 4px;vertical-align:middle;}

/* smoother mobile burger menu */
@media (max-width: 991px) {
  .navbar-collapse.collapsing {
    transition: height 0.38s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .navbar .navbar-collapse .navbar-nav {
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.35s ease 0.08s, transform 0.35s ease 0.08s;
  }
  .navbar .navbar-collapse.show .navbar-nav {
    opacity: 1;
    transform: translateY(0);
  }
  .navbar .navbar-toggler i {
    transition: transform 0.3s ease;
  }
  .navbar .navbar-toggler[aria-expanded="true"] i {
    transform: rotate(90deg);
  }
}
