
/* =========================================================
   PiKTeK V41 MOBILE FINAL FIX
   This file loads after styles.css and wins all mobile rules.
   ========================================================= */

/* ---------- Loader mobile ---------- */
@media (max-width: 768px) {
  .site-loader {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    overflow: hidden !important;
    padding: 0 20px !important;
  }

  .site-loader.hide {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .loader-orbit {
    width: 150px !important;
    height: 150px !important;
    min-width: 150px !important;
    min-height: 150px !important;
    max-width: 150px !important;
    max-height: 150px !important;
    display: grid !important;
    place-items: center !important;
    overflow: visible !important;
  }

  .loader-orbit img {
    display: block !important;
    width: 118px !important;
    height: auto !important;
    max-width: 118px !important;
    max-height: 62px !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
    clip-path: none !important;
  }

  .loader-orbit span { inset: 12px !important; }
  .loader-orbit span:nth-child(2) { inset: 28px !important; }
  .loader-orbit span:nth-child(3) { inset: 43px !important; }

  .site-loader p {
    font-size: 9px !important;
    letter-spacing: .13em !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    text-align: center !important;
  }
}

/* ---------- Orbit mobile ---------- */
@media (max-width: 768px) {
  .orbit-card {
    position: relative !important;
    min-height: 555px !important;
    height: auto !important;
    overflow: hidden !important;
    border-radius: 30px !important;
  }

  .logo-display {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    display: grid !important;
    place-items: center !important;
    padding: 56px 22px 220px 22px !important;
    pointer-events: none !important;
  }

  .logo-display img {
    width: min(260px, 70vw) !important;
    height: auto !important;
    max-height: 130px !important;
    object-fit: contain !important;
    transform: none !important;
    clip-path: none !important;
  }

  .floating-tags {
    position: absolute !important;
    left: 18px !important;
    right: 18px !important;
    top: auto !important;
    bottom: 106px !important;
    inset: auto 18px 106px 18px !important;
    width: auto !important;
    height: auto !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    z-index: 80 !important;
    pointer-events: auto !important;
  }

  .floating-tags .tag,
  .tag-cloud,
  .tag-digital,
  .tag-auto,
  .tag-web {
    position: static !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 34px !important;
    padding: 7px 6px !important;
    border-radius: 13px !important;
    font-size: 8.6px !important;
    line-height: 1.05 !important;
    text-align: center !important;
    white-space: nowrap !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  .floating-tags .tag.active {
    transform: translateY(-2px) scale(1.01) !important;
  }

  .orbit-tooltip {
    position: absolute !important;
    left: 50% !important;
    bottom: 18px !important;
    transform: translateX(-50%) !important;
    width: calc(100% - 36px) !important;
    min-height: auto !important;
    padding: 9px 10px !important;
    border-radius: 14px !important;
    text-align: center !important;
    z-index: 70 !important;
    pointer-events: none !important;
  }

  .orbit-tooltip strong {
    font-size: 9px !important;
    letter-spacing: .08em !important;
    margin: 0 0 3px !important;
  }

  .orbit-tooltip p {
    font-size: 9.4px !important;
    line-height: 1.25 !important;
    margin: 0 !important;
  }
}

@media (max-width: 360px) {
  .orbit-card { min-height: 585px !important; }
  .floating-tags {
    grid-template-columns: 1fr !important;
    bottom: 108px !important;
    inset: auto 18px 108px 18px !important;
  }
  .floating-tags .tag,
  .tag-cloud,
  .tag-digital,
  .tag-auto,
  .tag-web {
    min-height: 30px !important;
    font-size: 8.3px !important;
  }
}

/* ---------- WhatsApp CTA ---------- */
.whatsapp-float { display: none !important; }

.whatsapp-inline {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: fit-content !important;
  min-height: 46px !important;
  padding: 0 18px !important;
  margin-top: 8px !important;
  border-radius: 999px !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 900 !important;
  font-size: 13px !important;
  background: #02040d !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  box-shadow: 0 14px 34px rgba(2,4,13,.24) !important;
}

.whatsapp-inline::before {
  content: "" !important;
  width: 19px !important;
  height: 19px !important;
  flex: 0 0 19px !important;
  background: url("https://cdn.jsdelivr.net/gh/simple-icons/simple-icons/icons/whatsapp.svg") no-repeat center !important;
  background-size: contain !important;
  filter: invert(57%) sepia(92%) saturate(477%) hue-rotate(88deg) brightness(98%) contrast(92%) !important;
}

@media (max-width: 768px) {
  .whatsapp-inline {
    width: 100% !important;
    min-height: 44px !important;
    font-size: 12.5px !important;
  }
}

/* ---------- Modal fixed center ---------- */
.thank-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 22px !important;
  background: rgba(2,4,13,.62) !important;
  backdrop-filter: blur(10px) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.thank-modal.show {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.thank-card {
  position: relative !important;
  width: min(390px, calc(100vw - 44px)) !important;
  max-width: 390px !important;
  margin: 0 auto !important;
  padding: 30px 24px 26px !important;
  border-radius: 24px !important;
  text-align: center !important;
  color: #f8fbff !important;
  background: radial-gradient(circle at 50% 0%, rgba(0,217,255,.18), transparent 42%),
              linear-gradient(145deg, rgba(12,20,42,.97), rgba(5,10,22,.95)) !important;
  border: 1px solid rgba(220,235,255,.16) !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.42), 0 0 45px rgba(0,217,255,.12) !important;
}

.thank-icon {
  width: 54px !important;
  height: 54px !important;
  margin: 0 auto 16px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
}

.thank-card h3 {
  font-size: 26px !important;
  line-height: 1.1 !important;
  margin: 0 0 10px !important;
}

.thank-card p {
  color: #b9c7da !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

.thank-close {
  position: absolute !important;
  top: 12px !important;
  right: 14px !important;
  width: 30px !important;
  height: 30px !important;
  border: 0 !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  color: #dbeafe !important;
  background: rgba(255,255,255,.08) !important;
  cursor: pointer !important;
  font-size: 22px !important;
}

/* ---------- Mobile validation unified ---------- */
.booking-form label {
  position: relative !important;
  padding-bottom: 14px !important;
}

.field-error,
.phone-error,
.booking-form .field-error,
.booking-form .phone-error {
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 9px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  color: #ef4444 !important;
  text-align: left !important;
  white-space: nowrap !important;
  z-index: 3 !important;
}

.field-error.show,
.phone-error.show,
.booking-form .field-error.show,
.booking-form .phone-error.show {
  display: block !important;
}

.booking-form input.invalid,
.booking-form select.invalid,
.booking-form textarea.invalid,
.iti input.invalid {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 3px rgba(239,68,68,.10) !important;
}

.iti {
  width: 100% !important;
}
.iti input {
  width: 100% !important;
}

/* V42 desktop orbit and mobile final reinforcement */
.orbit-card .tag{pointer-events:auto!important;cursor:pointer!important}.floating-tags{pointer-events:auto!important}
