@import "tailwindcss";
@import "tw-animate-css";
@import "shadcn/tailwind.css";



@custom-variant dark (&:is(.dark *));

@theme inline {
  --color-background: var(--background);
  --color-secondary: var(--secondary);
  --color-bghover: var(--bghover);
  --color-btnPrimary: var(--btnPrimary);
  --color-btnSecondary: var(--btnSecondary);
  --color-foreground: var(--foreground);
  --font-sans: var(--font-sans);
  --font-mono: var(--font-geist-mono);
  --font-heading: var(--font-sans);
  --color-sidebar-ring: var(--sidebar-ring);
  --color-sidebar-border: var(--sidebar-border);
  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
  --color-sidebar-accent: var(--sidebar-accent);
  --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
  --color-sidebar-primary: var(--sidebar-primary);
  --color-sidebar-foreground: var(--sidebar-foreground);
  --color-sidebar: var(--sidebar);
  --color-chart-5: var(--chart-5);
  --color-chart-4: var(--chart-4);
  --color-chart-3: var(--chart-3);
  --color-chart-2: var(--chart-2);
  --color-chart-1: var(--chart-1);
  --color-ring: var(--ring);
  --color-input: var(--input);
  --color-border: var(--border);
  --color-destructive: var(--destructive);
  --color-accent-foreground: var(--accent-foreground);
  --color-accent: var(--accent);
  --color-muted-foreground: var(--muted-foreground);
  --color-muted: var(--muted);
  --color-secondary-foreground: var(--secondary-foreground);
  --color-secondary: var(--secondary);
  --color-primary-foreground: var(--primary-foreground);
  --color-primary: var(--primary);
  --color-popover-foreground: var(--popover-foreground);
  --color-popover: var(--popover);
  --color-card-foreground: var(--card-foreground);
  --color-card: var(--card);
  --radius-sm: calc(var(--radius) * 0.6);
  --radius-md: calc(var(--radius) * 0.8);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) * 1.4);
  --radius-2xl: calc(var(--radius) * 1.8);
  --radius-3xl: calc(var(--radius) * 2.2);
  --radius-4xl: calc(var(--radius) * 2.6);
}

body {
  /* background: var(--background);
  color: var(--foreground); */
}



:root {
  --background: #1c4d18;
  --secondary: #f0fdf4fc;
  --border-color:#00704D;
  --bghover: #1e7916;
  --btnPrimary:#FF5C00;
  --btnSecondary:#ff6f1b;
  --foreground: oklch(0.145 0 0);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.145 0 0);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.145 0 0);
  --primary: oklch(0.205 0 0);
  --primary-foreground: oklch(0.985 0 0);
  /* --secondary: oklch(0.97 0 0); */
  --secondary-foreground: oklch(0.205 0 0);
  --muted: oklch(0.97 0 0);
  --muted-foreground: oklch(0.556 0 0);
  --accent: oklch(0.97 0 0);
  --accent-foreground: oklch(0.205 0 0);
  --destructive: oklch(0.577 0.245 27.325);
  --border: oklch(0.922 0 0);
  --input: oklch(0.922 0 0);
  --ring: oklch(0.708 0 0);
  --chart-1: oklch(0.87 0 0);
  --chart-2: oklch(0.556 0 0);
  --chart-3: oklch(0.439 0 0);
  --chart-4: oklch(0.371 0 0);
  --chart-5: oklch(0.269 0 0);
  --radius: 0.625rem;
  --sidebar: oklch(0.985 0 0);
  --sidebar-foreground: oklch(0.145 0 0);
  --sidebar-primary: oklch(0.205 0 0);
  --sidebar-primary-foreground: oklch(0.985 0 0);
  --sidebar-accent: oklch(0.97 0 0);
  --sidebar-accent-foreground: oklch(0.205 0 0);
  --sidebar-border: oklch(0.922 0 0);
  --sidebar-ring: oklch(0.708 0 0);
}

.dark {
  --background: oklch(0.145 0 0);
  --foreground: oklch(0.985 0 0);
  --btnPrimary:#ED1C24;
  --card: oklch(0.205 0 0);
  --card-foreground: oklch(0.985 0 0);
  --popover: oklch(0.205 0 0);
  --popover-foreground: oklch(0.985 0 0);
  --primary: oklch(0.922 0 0);
  --primary-foreground: oklch(0.205 0 0);
  --secondary: oklch(0.269 0 0);
  --secondary-foreground: oklch(0.985 0 0);
  --muted: oklch(0.269 0 0);
  --muted-foreground: oklch(0.708 0 0);
  --accent: oklch(0.269 0 0);
  --accent-foreground: oklch(0.985 0 0);
  --destructive: oklch(0.704 0.191 22.216);
  --border: oklch(1 0 0 / 10%);
  --input: oklch(1 0 0 / 15%);
  --ring: oklch(0.556 0 0);
  --chart-1: oklch(0.87 0 0);
  --chart-2: oklch(0.556 0 0);
  --chart-3: oklch(0.439 0 0);
  --chart-4: oklch(0.371 0 0);
  --chart-5: oklch(0.269 0 0);
  --sidebar: oklch(0.205 0 0);
  --sidebar-foreground: oklch(0.985 0 0);
  --sidebar-primary: oklch(0.488 0.243 264.376);
  --sidebar-primary-foreground: oklch(0.985 0 0);
  --sidebar-accent: oklch(0.269 0 0);
  --sidebar-accent-foreground: oklch(0.985 0 0);
  --sidebar-border: oklch(1 0 0 / 10%);
  --sidebar-ring: oklch(0.556 0 0);
}


/* google font  */
.roboto-condensed{
  font-family: "Google Sans Flex", sans-serif;
  font-optical-sizing: auto;
}
.courgette-regular {
  font-family: "Courgette", cursive;
  font-weight: 600;
  font-style: normal;
}

.swiper-pagination {
  bottom: 0px !important;
  right: 50% !important;
  left: auto !important;
  width: auto !important;
}

.swiper-button-prev,
.swiper-button-next {
  bottom: 10%;
  transform: translateY(-50%);
  color: green!important;
  opacity: 70%;
  width:25px !important;
  height: 25px !important;
  margin-left: 5px !important;
  margin-right: 5px !important;
}
@media (max-width: 768px) {
  .swiper-button-prev,
.swiper-button-next {
    display: none!important;
  }
}

.swiper-pagination-bullet {
  background: var(--background)!important;
  opacity: inherit!important;
  width: 7px!important;
  height: 7px!important;
}

.swiper-pagination-bullet-active {
  background: var(--background) !important;
  opacity: 1;
  width:12px!important;
  height: 12px!important;
}

.vertical-pagination .swiper-pagination {
  left: 20px !important;
  right: auto !important;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: auto !important;
  align-items: center!important;
}

.vertical-pagination .swiper-pagination-bullet {
  background: var(--background) !important;
  opacity: 0.3;
}

.vertical-pagination .swiper-pagination-bullet-active {
  opacity: 1;
  background: #fff;
  width: 14px!important;
  height: 14px!important;
  transition: all 0.3s ease!important;
}

@media (max-width: 768px) {
  .vertical-pagination .swiper-pagination {
    display: none!important;
  }
}


.scrollbar-width{
  scrollbar-width:thin;
}



@layer base {
  * {
    @apply border-border outline-ring/50;
  }
  body {
    @apply  text-foreground;
  }
  html {
    @apply font-sans;
  }
}


/* cliets page */
.marquee-container {
    width: 100%;
    overflow: hidden;
  }

  .marquee {
    display: flex;
    width: max-content;
    animation: marquee 25s linear infinite;
    will-change: transform;
  }

  .marquee-track {
    display: flex;
    align-items: center;
  }

  @keyframes marquee {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(-50%);
    }
  }

  /* panorama 360  */
  .psv-container {
    background: white!important;
}

.psv-loader-container {
  z-index: 0 !important;
}

.psv--capture-event {
  z-index:0!important;
}



/* test */
/* Add these custom styles in your global CSS file (e.g., index.css) */
.hero-gradient {
  background: linear-gradient(145deg, #0b3519 0%, #1a5a1d 100%);
}

.card-hover {
  transition: all 0.2s ease-in-out;
}

.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 30px -12px rgba(0, 40, 3, 0.2);
}

.section-chip {
  background: rgba(0, 120, 0, 0.08);
  color: #176b0f;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.text-teal-dark {
  color: #24580f;
}

.bg-teal-soft {
  background-color: #e8f3f6;
}




/* Custom scrollbar */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #d4d4d4;
}
::-webkit-scrollbar-thumb {
  background:var(--background);
  border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(to bottom, #047857, #0f766e);
}


/* ts service card icon hover animation */
@keyframes iconPop {
  0%   { transform: scale(1); }
  35%  { transform: scale(0.78); }
  70%  { transform: scale(1.18); }
  100% { transform: scale(1.08); }
}

.market-card:hover .market-icon {
  animation: iconPop 0.42s cubic-bezier(0.36, 0.07, 0.19, 0.97) forwards;
}


/* total transformers bouble animation css  */
@keyframes floatUp {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-20px) rotate(8deg); }
}

@keyframes floatDown {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(20px) rotate(-8deg); }
}

@keyframes floatGentle {
  0%, 100% { transform: translateY(0px) scale(1); }
  50% { transform: translateY(-12px) scale(1.06); }
}

@keyframes pulseDot {
  0%, 100% { transform: scale(1); opacity: 0.65; }
  50% { transform: scale(1.25); opacity: 1; }
}

@keyframes driftLeft {
  0%, 100% { transform: translateX(0px) translateY(0px); }
  33% { transform: translateX(-8px) translateY(-14px); }
  66% { transform: translateX(6px) translateY(-6px); }
}

@keyframes driftRight {
  0%, 100% { transform: translateX(0px) translateY(0px); }
  33% { transform: translateX(10px) translateY(-10px); }
  66% { transform: translateX(-6px) translateY(-18px); }
}

@keyframes driveIn {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

@keyframes driveInReverse {
  0% { transform: translateX(100%) scaleX(-1); }
  100% { transform: translateX(-100%) scaleX(-1); }
}

.animate-drive-in { animation: driveIn 3s ease-in-out; }
.animate-drive-in-reverse { animation: driveInReverse 3s ease-in-out; }
