/* Product Details Page Styles */

/* Override body padding for product page to eliminate gap */
body {
  padding-top: 0 !important;
}

/* Award-Winning Background System - High Specificity - LIGHT THEME */
body.product-page-bg {
  background: #ffffff !important;
  position: relative;
  overflow: hidden;
  min-height: 100vh;
  color: #2d3748 !important;
}

/* Primary Background Layer - LIGHT THEME */
body.product-page-bg::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background:
    radial-gradient(circle at 20% 80%, rgba(12, 29, 61, 0.05) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(59, 130, 246, 0.05) 0%, transparent 50%),
    radial-gradient(circle at 40% 40%, rgba(139, 92, 246, 0.03) 0%, transparent 50%),
    radial-gradient(circle at 60% 60%, rgba(6, 182, 212, 0.03) 0%, transparent 50%);
  z-index: 0;
  pointer-events: none;
  animation: backgroundShift 20s ease-in-out infinite;
}

/* Animated Grid Pattern - LIGHT THEME */
body.product-page-bg::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image:
    linear-gradient(rgba(12, 29, 61, 0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(12, 29, 61, 0.02) 1px, transparent 1px);
  background-size: 50px 50px;
  z-index: 1;
  pointer-events: none;
  animation: gridMove 30s linear infinite;
}

/* Floating Particles - LIGHT THEME */
.particle {
  position: absolute;
  width: 4px;
  height: 4px;
  background: radial-gradient(circle, rgba(12, 29, 61, 0.3) 0%, transparent 70%);
  border-radius: 50%;
  animation: particleFloat 8s ease-in-out infinite;
}

.particle:nth-child(2) {
  width: 6px;
  height: 6px;
  background: radial-gradient(circle, rgba(59, 130, 246, 0.3) 0%, transparent 70%);
}

.particle:nth-child(3) {
  width: 3px;
  height: 3px;
  background: radial-gradient(circle, rgba(7, 49, 107, 0.3) 0%, transparent 70%);
}

.particle:nth-child(4) {
  width: 5px;
  height: 5px;
  background: radial-gradient(circle, rgba(139, 92, 246, 0.3) 0%, transparent 70%);
}

.particle:nth-child(5) {
  width: 4px;
  height: 4px;
  background: radial-gradient(circle, rgba(6, 182, 212, 0.3) 0%, transparent 70%);
}

.particle:nth-child(6) {
  width: 3px;
  height: 3px;
  background: radial-gradient(circle, rgba(12, 29, 61, 0.2) 0%, transparent 70%);
}

/* Light Rays - LIGHT THEME */
.light-ray {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 200vh;
  background: linear-gradient(to bottom, transparent, rgba(12, 29, 61, 0.1), transparent);
  transform-origin: center;
  animation: lightRayRotate 20s linear infinite;
}

.light-ray:nth-child(2) {
  animation-delay: 5s;
}

.light-ray:nth-child(3) {
  animation-delay: 10s;
}

.light-ray:nth-child(4) {
  animation-delay: 15s;
}

/* Animated Background Keyframes */
@keyframes backgroundShift {

  0%,
  100% {
    opacity: 0.2;
    transform: scale(1) rotate(0deg);
  }

  25% {
    opacity: 0.3;
    transform: scale(1.1) rotate(1deg);
  }

  50% {
    opacity: 0.25;
    transform: scale(1.05) rotate(-0.5deg);
  }

  75% {
    opacity: 0.3;
    transform: scale(1.15) rotate(0.5deg);
  }
}

@keyframes gridMove {
  0% {
    transform: translate(0, 0);
  }

  100% {
    transform: translate(50px, 50px);
  }
}

@keyframes particleFloat {

  0%,
  100% {
    transform: translateY(0px) translateX(0px);
    opacity: 0.1;
  }

  25% {
    transform: translateY(-20px) translateX(10px);
    opacity: 0.3;
  }

  50% {
    transform: translateY(-10px) translateX(-15px);
    opacity: 0.2;
  }

  75% {
    transform: translateY(-30px) translateX(5px);
    opacity: 0.3;
  }
}

@keyframes lightRayRotate {
  0% {
    transform: rotate(0deg);
    opacity: 0;
  }

  10% {
    opacity: 0.1;
  }

  90% {
    opacity: 0.1;
  }

  100% {
    transform: rotate(360deg);
    opacity: 0;
  }
}

/* Product page content z-index control */
.product-content {
  position: relative;
  z-index: 10;
}

/* Enhanced Animations - Single Animation Per Element */
.fade-in {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

.slide-in-left {
  opacity: 0 !important;
  transform: translateX(-60px) !important;
  transition: opacity 0.8s ease-out, transform 0.8s ease-out !important;
}

.slide-in-left.visible {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

.slide-in-right {
  opacity: 0 !important;
  transform: translateX(60px) !important;
  transition: opacity 0.8s ease-out, transform 0.8s ease-out !important;
}

.slide-in-right.visible {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

.fade-in-center {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fade-in-center.visible {
  opacity: 1;
  transform: translateX(0);
}

.section-animate {
  opacity: 0;
  transform: translateX(-50px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.section-animate.visible {
  opacity: 1;
  transform: translateX(0);
}

.section-animate-right {
  opacity: 0;
  transform: translateX(50px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.section-animate-right.visible {
  opacity: 1;
  transform: translateX(0);
}

.section-animate-up {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.section-animate-up.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Enhanced Product Image - Single Animation */
.product-image {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  transition: all 0.3s ease;
}

.product-image:hover {
  transform: scale(1.02);
}

.product-image::before {
  content: "";
  position: absolute;
  top: -50px;
  left: -50px;
  right: -50px;
  bottom: -50px;
  background: radial-gradient(circle at center,
      rgba(59, 130, 246, 0.1) 0%,
      rgba(239, 68, 68, 0.05) 25%,
      rgba(139, 92, 246, 0.05) 50%,
      rgba(6, 182, 212, 0.03) 75%,
      transparent 100%);
  border-radius: 30px;
  filter: blur(30px);
  z-index: -1;
  animation: radialGlow 6s ease-in-out infinite alternate;
}

.product-image::after {
  content: "";
  position: absolute;
  top: -20px;
  left: -20px;
  right: -20px;
  bottom: -20px;
  background: linear-gradient(45deg,
      rgba(59, 130, 246, 0.05),
      rgba(239, 68, 68, 0.05),
      rgba(139, 92, 246, 0.05),
      rgba(6, 182, 212, 0.05));
  border-radius: 25px;
  filter: blur(15px);
  z-index: -2;
  animation: borderGlow 4s ease-in-out infinite alternate;
}

@keyframes radialGlow {
  0% {
    opacity: 0.1;
    transform: scale(1);
  }

  100% {
    opacity: 0.2;
    transform: scale(1.1);
  }
}

@keyframes borderGlow {
  0% {
    opacity: 0.05;
    transform: rotate(0deg);
  }

  100% {
    opacity: 0.15;
    transform: rotate(360deg);
  }
}

/* Gallery Thumbnails - Single Animation */
.gallery-thumb {
  transition: all 0.3s ease;
  border: 2px solid transparent;
  position: relative;
  overflow: hidden;
}

.gallery-thumb::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(45deg, rgba(59, 130, 246, 0.1), rgba(239, 68, 68, 0.1));
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1;
}

.gallery-thumb:hover::before {
  opacity: 1;
}

.gallery-thumb.selected {
  border-color: #3b82f6;
  box-shadow: 0 0 20px rgba(59, 130, 246, 0.3);
  transform: scale(1.05);
}

.gallery-thumb.selected::before {
  opacity: 0.3;
}

/* Enhanced Buttons - Single Animation - LIGHT THEME */
.enquire-btn {
  background: #0c1d3d;
  border: 2px solid #0c1d3d;
  color: white;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.enquire-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s ease;
}

.enquire-btn:hover::before {
  left: 100%;
}

.enquire-btn:hover {
  background: transparent;
  color: #0c1d3d;
  box-shadow: 0 0 30px rgba(12, 29, 61, 0.2);
  transform: translateY(-2px);
}

/* Accordion Styles */
.accordion-content {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.5s cubic-bezier(0.4, 2, 0.6, 1),
    opacity 0.4s cubic-bezier(0.4, 2, 0.6, 1);
}

.accordion-content.open {
  max-height: 400px;
  opacity: 1;
}

.accordion-toggle {
  transition: transform 0.4s cubic-bezier(0.4, 2, 0.6, 1);
}

.accordion-toggle.open {
  transform: rotate(45deg);
}

/* Slider Navigation - LIGHT THEME */
.nav-btn {
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(12, 29, 61, 0.2);
  backdrop-filter: blur(10px);
  transition: all 0.3s ease;
  color: #0c1d3d;
}

.nav-btn:hover {
  background: rgba(255, 255, 255, 0.9);
  border-color: rgba(12, 29, 61, 0.4);
  transform: scale(1.1);
}

/* Hide scrollbar for sliders */
.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.scrollbar-hide::-webkit-scrollbar {
  display: none;
}

/* Smooth scrolling for sliders */
.gallery-slider,
.products-slider {
  scroll-behavior: smooth;
}

/* Responsive Design */
@media (max-width: 768px) {

  .product-image::before,
  .product-image::after {
    display: none;
  }

  .gallery-thumb {
    width: 60px;
    height: 60px;
  }

  /* Reduce background complexity on mobile */
  body.product-page-bg::before,
  body.product-page-bg::after {
    opacity: 0.1;
  }

  .particle {
    display: none;
  }

  .light-ray {
    display: none;
  }
}

/* Ensure proper spacing for navbar */
.product-content {
  margin-top: 80px;
}

/* Product Cards - Single Animation - LIGHT THEME */
.product-card {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(12, 29, 61, 0.1);
  backdrop-filter: blur(10px);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  opacity: 0;
  transform: translateX(-30px);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
}

.product-card.visible {
  opacity: 1;
  transform: translateX(0);
}

.product-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(45deg, rgba(59, 130, 246, 0.05), rgba(239, 68, 68, 0.05));
  opacity: 0;
  transition: opacity 0.3s ease;
}

.product-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
  border-color: rgba(59, 130, 246, 0.3);
}

.product-card:hover::before {
  opacity: 1;
}

/* Text Clamping for Product Descriptions */
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Japanese Red for key elements */
.japanese-red {
  color: #dc2626 !important;
}

.japanese-red-bg {
  background: linear-gradient(135deg,
      #dc2626 0%,
      #b91c1c 100%) !important;
}

/* Light theme overrides */
body {
  background: #ffffff !important;
  color: #2d3748 !important;
  margin: 0;
  padding: 0;
  font-family: 'Calibri', 'Candara', 'Segoe', 'Segoe UI', Optima, Arial, sans-serif;
}

/* Light background for all sections */
.product-page-bg {
  background: #ffffff !important;
  min-height: 100vh;
  position: relative;
  overflow: hidden;
}

/* Ensure content is visible with light theme */
.product-content {
  background: transparent !important;
  color: #2d3748 !important;
}

/* Light cards */
.product-card {
  background: rgba(255, 255, 255, 0.95) !important;
  border: 1px solid rgba(12, 29, 61, 0.1) !important;
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1) !important;
}

/* Light buttons */
.enquire-btn {
  background: #0c1d3d !important;
  border: 2px solid #0c1d3d !important;
  color: white !important;
  transition: all 0.3s ease;
}

.enquire-btn:hover {
  background: transparent !important;
  color: #0c1d3d !important;
}

/* Light table borders */
.border-gray-700 {
  border-color: rgba(12, 29, 61, 0.2) !important;
}

/* Light text colors */
.text-gray-300 {
  color: #718096 !important;
}

.text-gray-400 {
  color: #718096 !important;
}

.text-white {
  color: #2d3748 !important;
}

/* Force navbar to be light */
.main-nav {
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(10px) !important;
  border-bottom: 1px solid rgba(12, 29, 61, 0.1) !important;
}

.main-nav a,
.main-nav button {
  color: #0c1d3d !important;
}

.main-nav a:hover,
.main-nav button:hover {
  color: #d72638 !important;
}

/* Dropdown Styling */
.dropdown-content {
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(10px) !important;
  border: 1px solid rgba(12, 29, 61, 0.1) !important;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1) !important;
}

.dropdown-content a {
  color: #0c1d3d !important;
}

.dropdown-content a:hover {
  background-color: rgba(12, 29, 61, 0.05) !important;
  color: #d72638 !important;
}

/* Mobile Menu */
.mobile-menu-overlay {
  background: rgba(255, 255, 255, 0.95) !important;
}

.mobile-menu-content {
  background: rgba(255, 255, 255, 0.95) !important;
}

.mobile-menu-links a {
  color: #0c1d3d !important;
}

.mobile-menu-links a:hover {
  color: #d72638 !important;
}

/* Typography - match products.html fonts */
h1,
h2,
h3,
h4,
h5,
h6 {
  color: #0c1d3d !important;
  font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
}

p,
span,
div {
  color: #2d3748 !important;
}

/* Product title */
.product-title {
  color: #0c1d3d !important;
  font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
  font-weight: 600;
}

/* Product price */
.product-price {
  color: #d72638 !important;
  font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
  font-weight: 700;
}

/* Product description */
.product-description {
  color: #718096 !important;
}

/* Back button */
.back-btn {
  background: #0c1d3d !important;
  color: white !important;
  border: 2px solid #0c1d3d !important;
  transition: all 0.3s ease;
}

.back-btn:hover {
  background: transparent !important;
  color: #0c1d3d !important;
}

/* Background Elements for Light Theme */
.particle {
  position: absolute;
  width: 4px;
  height: 4px;
  background: rgba(12, 29, 61, 0.3);
  border-radius: 50%;
  animation: float 6s ease-in-out infinite;
}

.light-ray {
  position: absolute;
  width: 1px;
  height: 100%;
  background: linear-gradient(to bottom,
      transparent,
      rgba(12, 29, 61, 0.2),
      transparent);
  animation: ray 8s ease-in-out infinite;
}

@keyframes float {

  0%,
  100% {
    transform: translateY(0px) rotate(0deg);
    opacity: 0.3;
  }

  50% {
    transform: translateY(-20px) rotate(180deg);
    opacity: 0.6;
  }
}

@keyframes ray {

  0%,
  100% {
    opacity: 0.1;
  }

  50% {
    opacity: 0.3;
  }
}

/* Ensure text colors are correct for light theme */
.text-white {
  color: #0c1d3d !important;
}

.text-gray-300 {
  color: #718096 !important;
}

.text-gray-400 {
  color: #718096 !important;
}

/* Border colors for light theme */
.border-gray-700 {
  border-color: rgba(12, 29, 61, 0.2) !important;
}

/* Slide-up animation */
.slide-up {
  opacity: 0;
  transform: translateY(60px);
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.slide-up.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Individual card slide-up animation */
.slide-up-card {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.slide-up-card.visible {
  opacity: 1;
  transform: translateY(0);
}