/*
 Theme Name: hotshots
 Author: tadamart.pl
 Version: 1.0
 */

:root {
  --bs-primary: #f4e8c9 !important;
  --bs-primary-rgb: 244, 232, 201 !important;
  --bs-secondary: #fcd200 !important;
  --bs-secondary-rgb: 252, 210, 0 !important;
}

body {
  font-family: "Jost", sans-serif;
  color: white;

  background-color: black;
}

.admin-bar {
  margin-top: 32px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 500 !important;
  font-family: "Marcellus", serif;
}
strong,
b {
  font-weight: 600;
}
a {
  transition: 0s !important;
  font-size: 15px;
}
p,
li,
td,
th {
  font-size: 14px;
  line-height: 1.4 !important;
  letter-spacing: 1px !important;
  font-weight: 300;
}
.lh-1 {
  line-height: 1 !important;
}
.lh-2 {
  line-height: 1.2 !important;
}
.ls1 {
  letter-spacing: 1px !important;
}
.font-marcellus {
  font-family: "Marcellus", serif;
}
.grecaptcha-badge {
  display: none !important;
}
.cky-btn-revisit-wrapper {
  display: none !important;
}
.border-end,
.border-start,
.border-top,
.border-bottom,
.border {
  border-color: rgba(0, 0, 0, 0.15) !important;
}

.bg-black .border-end,
.bg-black .border-start,
.bg-black .border-top,
.bg-black .border-bottom,
.bg-black .border,
.bg-black.border-top {
  border-color: rgba(255, 255, 255, 0.15) !important;
}
.custom-page a {
  color: white;
}
.fs-6 {
  font-size: 16px !important;
}
.fs-7 {
  font-size: 12px;
}
.fs-8 {
  font-size: 11px;
}
.ls-1 {
  letter-spacing: 1px !important;
}
.hero {
  height: 90vh;
}
.overlay {
  background: linear-gradient(to bottom, black 0%, transparent 50%, black 100%);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.btn {
  border-radius: 0px;
  padding: 10px 20px;
  font-weight: 500;
}
.btn-primary {
  background: linear-gradient(to right, #e3d0a5, #efe4ca) !important;
  color: black !important;
  border: 1px solid #e3d0a5 !important;
  &:hover {
    background: white !important;
    color: black !important;
    border: 1px solid white !important;
  }
}
.btn-outline-primary {
  background: transparent !important;
  color: var(--bs-primary) !important;
  border: 1px solid var(--bs-primary) !important;
  &:hover {
    background: white !important;
    color: black !important;
    border: 1px solid white !important;
  }
}
.btn-secondary {
  background: black !important;
  color: white !important;
  border: 1px solid black !important;
  &:hover {
    background: transparent !important;
    color: black !important;
    border: 1px solid black !important;
  }
}
/* Header top bar - godziny otwarcia */
.header-topbar {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  padding-bottom: 8px;
  margin-bottom: 8px;
}
.header-topbar .fs-8 {
  letter-spacing: 0.5px;
}

/* Mobile nav toggle */
.mobile-nav-toggle {
  background: transparent;
  border: none;
  padding: 0;
  line-height: 1;
}
.mobile-nav-toggle .bi-list {
  font-size: 2rem;
}

/* Offcanvas mobile nav */
.mobile-nav-offcanvas {
  background-color: rgba(10, 10, 10, 0.75) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  width: 100% !important;
}

.mobile-nav-links {
  margin: 0;
  padding: 0;
}

.mobile-nav-links li a {
  display: block;
  color: white;
  text-decoration: none;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.5px;
  padding: 14px 0;
  transition:
    color 0.2s,
    padding-left 0.2s;
}
.mobile-nav-links li a:hover {
  color: #fff;
}
.map-iframe {
  height: 600px;
}

.mobile-nav-social {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  color: white;
  text-decoration: none !important;
  font-size: 16px;
  transition:
    border-color 0.2s,
    color 0.2s;
}
.mobile-nav-social:hover {
  border-color: rgba(255, 255, 255, 0.5);
  color: #fff !important;
}
.row-m1 {
  margin-top: -100px;
}
/* Swiper – strefy */
.strefy-clip {
  overflow: hidden;
}
.strefy-swiper {
  overflow: visible;
}
.strefy-swiper .swiper-slide {
  opacity: 0.4;
  transform: scaleY(0.75);
  transform-origin: center center;
  transition:
    opacity 0.4s ease,
    transform 0.4s ease;
}
.strefy-swiper .swiper-slide-active {
  opacity: 1;
  transform: scaleY(1);
}
.strefy-swiper .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  height: 600px;
}

/* Box z opisem nad aktywnym slajdem */
.strefa-box {
  position: absolute;

  left: 50%;
  transform: translate(-50%, -50%);
  width: 56%;
  max-width: 820px;
  z-index: 4;
  pointer-events: none;
}
.strefa-box {
  background: linear-gradient(to right, #e3d0a5, #efe4ca);
}
.strefa-box-inner {
  padding: 50px 60px;
  text-align: center;
  pointer-events: auto;
  opacity: 0;
  transition: opacity 0.4s ease;
}
.strefa-box.is-visible .strefa-box-inner {
  opacity: 1;
}
.strefa-box-title {
  color: #1a1a1a !important;
}
.strefa-box-desc {
  color: #333 !important;
}

/* Strzałki nawigacyjne */
.strefy-nav {
  pointer-events: auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 90px;
  height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0a0a0a;
  color: var(--bs-primary);
  border: none;
  font-size: 1.4rem;
  z-index: 5;
  cursor: pointer;
  transition:
    background 0.2s ease,
    color 0.2s ease;
  border: 1px solid var(--bs-primary);
}
.strefy-nav:hover {
  background: #000;
  color: #fff;
  opacity: 0.8;
}
.strefy-prev {
  left: -40px;
}
.strefy-next {
  right: -40px;
}
.strefy-nav.swiper-button-disabled {
  opacity: 0.4;
  cursor: default;
}

/* Paginacja (kropki) */
.strefy-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 30px;
}
.strefy-pagination .swiper-pagination-bullet {
  width: 16px;
  height: 16px;
  background: transparent;
  border: 1px solid var(--bs-primary);
  border-radius: 50%;
  opacity: 1;
  margin: 0 !important;
  transition: background 0.2s ease;
}
.strefy-pagination .swiper-pagination-bullet-active {
  background: var(--bs-primary);
}
.sp-box {
  padding-top: 100px;
}
.bg-gradient {
  background: linear-gradient(to right, #e3d0a5, #efe4ca) !important;
}

/* Galeria */
.galeria-clip {
  overflow: hidden;
}
.galeria-swiper {
  overflow: visible;
}
.galeria-swiper .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  height: 500px;
}
.galeria-slide-link {
  display: block;
  cursor: zoom-in;
}
.galeria-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 30px;
}
.galeria-pagination .swiper-pagination-bullet {
  width: 16px;
  height: 16px;
  background: transparent;
  border: 1px solid var(--bs-primary);
  border-radius: 50%;
  opacity: 1;
  margin: 0 !important;
  transition: background 0.2s ease;
}
.galeria-pagination .swiper-pagination-bullet-active {
  background: var(--bs-primary);
}

.footer-links a:hover {
  text-decoration: underline !important;
}
.wpcf7 p {
  margin-bottom: 0px !important;
}
.form-label {
  width: 100% !important;
}
textarea {
  height: 100px;
}
.form-control {
  background-color: transparent;
  border: 0px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0 !important;
  padding: 10px 0px;
  font-size: 14px;
  letter-spacing: 1px !important;
}
.form-control:focus {
  box-shadow: none !important;
  outline: none !important;
  background-color: transparent !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

::placeholder {
  color: rgba(0, 0, 0, 0.3) !important;
  letter-spacing: 1px !important;
}
.lab-sp {
  margin-top: 7px !important;
  display: block !important;
}
.form-check-input {
  width: 18px !important;
  height: 18px !important;
}
.form-check label {
  cursor: pointer !important;
}
.form-check .form-check-input {
  margin-left: -3em;
  border-radius: 0 !important;
  cursor: pointer !important;
  background-color: transparent !important;
  border-color: rgba(0, 0, 0, 0.15) !important;
}
.wpcf7-not-valid-tip {
  font-size: 12px !important;
}
.form-check-input:focus {
  border-color: rgba(0, 0, 0, 0.15) !important;
  box-shadow: none !important;
  outline: none !important;
}
.form-check-input:checked {
  background-color: black !important;
  border-color: black !important;
}

@media (max-width: 991.98px) {
  .strefa-box {
    width: 72%;
  }
  .strefa-box-inner {
    padding: 36px 32px;
  }
  .strefy-nav {
    width: 60px;
    height: 60px;
    font-size: 1.1rem;
  }
  .strefy-prev {
    left: 8%;
  }
  .strefy-next {
    right: 8%;
  }
}

@media (max-width: 575.98px) {
  .strefa-box {
    width: 93%;
  }
  .strefa-box-inner {
    padding: 28px 22px;
  }
  .strefy-nav {
    width: 46px;
    height: 46px;
  }
  .strefy-prev {
    left: 4%;
  }
  .strefy-next {
    right: 4%;
  }
}

@media (min-width: 1400px) {
}

/* XX-Large devices (larger desktops) */
@media (max-width: 1399.98px) {
}

/* X-Large devices (large desktops) */
@media (max-width: 1199.98px) {
  .nav-link {
    font-size: 14px;
    padding: 5px 12px;
  }
}

/* Large devices (desktops) */
@media (max-width: 991.98px) {
  header .btn {
    font-size: 14px !important;
    padding: 5px 12px !important;
  }
  .strefa-box {
    transform: translate(0%, 7%) !important;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    left: 0;
  }
  .strefy-nav {
    top: 14%;
  }
  .sp-box {
    padding-top: 0px !important;
  }
  .strefy-pagination {
    margin-top: 0px !important;
  }
}

/* Medium devices (tablets) */
@media (max-width: 767.98px) {
  .overlay {
    background: linear-gradient(to bottom, black 0%, rgba(0, 0, 0, 0.5) 50%, black 100%);
  }
  .row-m1 {
    margin-top: 0px;
  }
  .map-iframe {
    height: 300px;
  }
  .hero {
    height: auto;
    min-height: 600px;
  }
  .galeria-pagination {
    gap: 6px;
  }
}

/* Small devices (landscape phones) */
@media (max-width: 575.98px) {
}

/* Cennik */
.cennik-tabs {
  border: none;
}
.cennik-tabs .nav-link,
.cennik-tabs .nav-link:hover,
.cennik-tabs .nav-link:focus {
  border: 1px solid var(--bs-primary);
  border-radius: 0;
  background: transparent;
  color: var(--bs-primary);
  font-family: "Marcellus", serif;
  letter-spacing: 1px;
  font-size: 14px;
  padding: 10px 22px;
  white-space: nowrap;
}
.cennik-tabs .nav-link.active,
.cennik-tabs .nav-link.active:hover,
.cennik-tabs .nav-link.active:focus {
  background: linear-gradient(to right, #e3d0a5, #efe4ca);
  color: black;
  border-color: #e3d0a5;
}
.cennik-content {
  border: 1px solid rgba(255, 255, 255, 0.15);
  padding: 50px 60px;
}
.cennik-subtitle {
  color: rgba(255, 255, 255, 0.55);
  font-size: 13px;
  text-align: center;
  margin-bottom: 30px;
}
.cennik-group-title {
  color: var(--bs-primary);
  font-family: "Marcellus", serif;
  letter-spacing: 2px;
  font-size: 13px;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.cennik-group-title:not(:first-child) {
  margin-top: 26px;
}
.cennik-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 20px;
  padding: 12px 0;
}
.cennik-row + .cennik-row {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.cennik-row-label {
  color: white;
  font-size: 14px;
  letter-spacing: 1px;
}
.cennik-row-note {
  color: rgba(255, 255, 255, 0.45);
  font-size: 11px;
  text-transform: uppercase;
  margin-left: 6px;
}
.cennik-row-price {
  color: var(--bs-primary);
  font-family: "Marcellus", serif;
  font-size: 18px;
  white-space: nowrap;
}
.cennik-row-unit {
  color: rgba(255, 255, 255, 0.45);
  font-family: "Jost", sans-serif;
  font-size: 11px;
}
.cennik-extra {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 20px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.cennik-plan {
  height: 100%;
  padding: 10px 24px;
  text-align: center;
}
.cennik-plan-day {
  color: white;
  font-family: "Marcellus", serif;
  letter-spacing: 1.5px;
  font-size: 14px;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.cennik-plan-price {
  color: var(--bs-primary);
  font-family: "Marcellus", serif;
  font-size: 32px;
  margin-bottom: 0;
}
.cennik-plan-unit {
  color: rgba(255, 255, 255, 0.45);
  font-size: 12px;
  letter-spacing: 1px;
  margin-bottom: 0;
}
@media (min-width: 576px) {
  .cennik-plan-grid > [class*="col-"]:not(:first-child) {
    border-left: 1px solid rgba(255, 255, 255, 0.15);
  }
}
@media (max-width: 575.98px) {
  .cennik-plan-grid > [class*="col-"]:not(:first-child) {
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    padding-top: 24px;
  }
}

@media (max-width: 575.98px) {
  .cennik-content {
    padding: 32px 22px;
  }
  .cennik-tabs .nav-link,
  .cennik-tabs .nav-link:hover,
  .cennik-tabs .nav-link:focus {
    padding: 8px 14px;
    font-size: 13px;
  }
}
