@tailwind base;
@tailwind components;
@tailwind utilities;

/* Gordita Font Declarations */
@font-face {
  font-family: 'Gordita';
  src: url('../../fonts/nuraview/65649b93b79fbb07081f2cca_Gordita-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gordita';
  src: url('../../fonts/nuraview/65649b93d4ea44e8e816b099_Gordita-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gordita';
  src: url('../../fonts/nuraview/65649b92edd2189241fa182d_Gordita-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gordita';
  src: url('../../fonts/nuraview/65649b92c17f3d19e38e8ea1_Gordita-Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@layer utilities {
  .visible {
    visibility: visible;
  }
  .invisible {
    visibility: hidden;
  }
  .animate-spin-slow {
    animation: spin 20s linear infinite;
  }
  .text-blue {
    color: #2563eb;
  }
  .bg-blue {
    background-color: #2563eb;
  }
  .border-blue {
    border-color: #2563eb;
  }
  /* Hide scrollbar utility */
  .scrollbar-hide {
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
  }
  .scrollbar-hide::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera */
  }
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@layer base {
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  html,
  body {
    font-family: 'Gabarito', serif;
    width: 100%;
    height: 100%;
    background-color: #000000;
  }

  /* Remove default underlines from all anchor tags */
  a {
    text-decoration: none;
  }

  /* Remove default button styles and outlines */
  button {
    border: none !important;
    outline: none !important;
    background: none;
    padding: 0;
    font: inherit;
    cursor: pointer;
  }

  /* Remove focus outlines and artifacts on buttons */
  button:focus,
  button:active,
  button:hover {
    outline: none !important;
    border: none !important;
  }

  /* Fix for button box-shadow artifacts */
  button,
  button:hover,
  button:focus,
  button:active {
    box-shadow: none !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }

  /* FOUC Prevention */
  body {
    visibility: hidden;
  }

  body.loaded {
    visibility: visible;
    transition:
      visibility 0s,
      opacity 0.3s ease-in-out;
  }

  /* * {
    outline: 1px solid #f00 !important;
  } */
  :root {
    --background: 0 0% 100%;
    --foreground: 0 0% 3.9%;
    --card: 0 0% 100%;
    --card-foreground: 0 0% 3.9%;
    --popover: 0 0% 100%;
    --popover-foreground: 0 0% 3.9%;
    --primary: 0 0% 9%;
    --primary-foreground: 0 0% 98%;
    --secondary: 0 0% 96.1%;
    --secondary-foreground: 0 0% 9%;
    --muted: 0 0% 96.1%;
    --muted-foreground: 0 0% 45.1%;
    --accent: 0 0% 96.1%;
    --accent-foreground: 0 0% 9%;
    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 0 0% 98%;
    --border: 0 0% 89.8%;
    --input: 0 0% 89.8%;
    --ring: 0 0% 3.9%;
    --chart-1: 12 76% 61%;
    --chart-2: 173 58% 39%;
    --chart-3: 197 37% 24%;
    --chart-4: 43 74% 66%;
    --chart-5: 27 87% 67%;
    --radius: 0.5rem;
    --blue: #2563eb;
  }
  .dark {
    --background: 0 0% 3.9%;
    --foreground: 0 0% 98%;
    --card: 0 0% 3.9%;
    --card-foreground: 0 0% 98%;
    --popover: 0 0% 3.9%;
    --popover-foreground: 0 0% 98%;
    --primary: 0 0% 98%;
    --primary-foreground: 0 0% 9%;
    --secondary: 0 0% 14.9%;
    --secondary-foreground: 0 0% 98%;
    --muted: 0 0% 14.9%;
    --muted-foreground: 0 0% 63.9%;
    --accent: 0 0% 14.9%;
    --accent-foreground: 0 0% 98%;
    --destructive: 0 62.8% 30.6%;
    --destructive-foreground: 0 0% 98%;
    --border: 0 0% 14.9%;
    --input: 0 0% 14.9%;
    --ring: 0 0% 83.1%;
    --chart-1: 220 70% 50%;
    --chart-2: 160 60% 45%;
    --chart-3: 30 80% 55%;
    --chart-4: 280 65% 60%;
    --chart-5: 340 75% 55%;
    --blue: #2563eb;
  }
}

/* Custom scrollbar styles */
.dialog-content > div::-webkit-scrollbar {
  width: 10px;
}

.dialog-content > div::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.dialog-content > div::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 5px;
}

.dialog-content > div::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.mw-container {
  @apply w-full lg:w-[70vw] hd:max-w-[66.7%];
}

.font10 {
  font-size: clamp(0.7rem, 0.622rem + 0.179vw, 1rem);
}
.font12 {
  font-size: clamp(0.85rem, 0.765rem + 0.362vw, 1.2rem);
}
.font13 {
  font-size: clamp(1rem, 0.893rem + 0.179vw, 1.3rem);
}
.font14 {
  font-size: clamp(1.1rem, 1.027rem + 0.311vw, 1.4rem);
}
.font15 {
  font-size: clamp(1.3rem, 1.251rem + 0.207vw, 1.5rem);
}
.font16 {
  font-size: clamp(1.2rem, 1.117rem + 0.215vw, 1.6rem);
}
.font17 {
  font-size: clamp(1.3rem, 1.203rem + 0.414vw, 1.7rem);
}
.font18 {
  font-size: clamp(1.35rem, 1.241rem + 0.466vw, 1.8rem);
}
.font20 {
  font-size: clamp(1.4rem, 1.254rem + 0.621vw, 2rem);
}
.font22 {
  font-size: clamp(1.95rem, 1.889rem + 0.259vw, 2.2rem);
}
.font24 {
  font-size: clamp(1.7rem, 1.53rem + 0.725vw, 2.4rem);
}
.font25 {
  font-size: clamp(1.45rem, 1.195rem + 1.087vw, 2.5rem);
}
.font26 {
  font-size: clamp(1.9rem, 1.73rem + 0.725vw, 2.6rem);
}
.font32 {
  font-size: clamp(2.1rem, 1.833rem + 1.139vw, 3.2rem);
}
.font34 {
  font-size: clamp(2.4rem, 2.169rem + 0.641vw, 3.4rem);
}
.font36 {
  font-size: clamp(2.4rem, 2.109rem + 1.243vw, 3.6rem);
}
.font37 {
  font-size: clamp(2.25rem, 1.898rem + 1.502vw, 3.7rem);
}

.font40 {
  font-size: clamp(0.8rem, 1.292rem + 1.41vw, 4rem);
}
.font42 {
  font-size: clamp(2.2rem, 1.715rem + 2.071vw, 4.2rem);
}
.font45 {
  font-size: clamp(2.3rem, 1.766rem + 2.278vw, 4.5rem);
}
.font50 {
  font-size: clamp(2.9rem, 2.39rem + 2.175vw, 5rem);
}
.font52 {
  font-size: clamp(2.6rem, 1.969rem + 2.693vw, 5.2rem);
}
.font60 {
  font-size: clamp(2.75rem, 1.961rem + 3.366vw, 6rem);
}

.font90 {
  font-size: clamp(3rem, 1.615rem + 3.846vw, 9rem);
}

.fontContact {
  font-size: clamp(4.2rem, 4.437rem + -1.055vw, 2.75rem);
}

.text-content {
  @apply font20 leading-[28px] text-[#444545];
}

/* Lenis css */

html.lenis,
html.lenis body {
  height: auto;
  background-color: #000000;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: clip;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

@layer base {
  * {
    @apply border-border;
  }
  body {
    @apply bg-background text-foreground;
  }
}

.font-inter {
  font-family: 'Inter';
}

.font-gordita {
  font-family: 'Gordita', 'Inter', sans-serif;
}

/* Service Slider Infinite Loop Styles */
.service-slider-outer {
  width: 100vw;
  overflow: hidden;
  height: 52px;
  position: relative;
  z-index: 1;
  background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);
  rotate: calc(1.44deg);
  box-shadow: 0 4px 20px rgba(37, 99, 235, 0.15);
}
.service-slider-outer-1 {
  width: 100vw;
  overflow: hidden;
  height: 52px;
  position: relative;
  background: linear-gradient(135deg, #1e40af 0%, #1e3a8a 100%);
  rotate: calc(-2.59deg);
  box-shadow: 0 4px 20px rgba(30, 64, 175, 0.15);
}

.service-slider-inner {
  display: flex;
  align-items: center;
  height: 100%;
  gap: 19px;
  width: max-content;
  animation: service-scroll-left 60s linear infinite;
}
.service-slider-inner-1 {
  display: flex;
  align-items: center;
  height: 100%;
  gap: 19px;
  width: max-content;
  animation: service-scroll-right 50s linear infinite;
}

.service-item {
  font-size: 24px;
  font-family: 'Lato', Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  color: #fff;
  white-space: nowrap;
}

.service-dot {
  width: 7px;
  height: 7px;
  background: #fff;
  border-radius: 50%;
}

@keyframes service-scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@keyframes service-scroll-right {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0);
  }
}

.text-fade {
  /* Medium length hero headline goes here */
  text-transform: uppercase;
  text-align: center;
  background: linear-gradient(180deg, #171717 41.5%, #000000 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}
