/* ====== FULL CSS — consistent, full-width, stable ====== */

/* Reset */
* { box-sizing: border-box; margin:0; padding:0; }
html,body { height:100%; width:100%; overflow-x:hidden; font-family:"Poppins",sans-serif; background:#f5f5f5; color:#222; }

/* Header Base (keeps your original styling) */
/* ----- HEADER HIDE / SHOW ----- */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background: #710000c8;
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;      /* prevent clicking while hidden */
  transition: transform 0.35s ease, opacity 0.35s ease;
}

.site-header.show {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

/* Hide state */
.site-header.hide {
  top: -150px;  /* slightly more than header height */
}

/* Inner structure stays same */
.header-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 14px 20px;
}

.fade-container,
.fade-slide {
  z-index: 1 !important;
}
/* Prevent header from hiding while dropdown is open */
.site-header.hover-lock {
  top: 0 !important;
  transform: translateY(0) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Logo */
.logo-area { display:flex; align-items:center; gap:12px; }
.logo-box { width:56px; height:56px; border-radius:50%; overflow:hidden; border:2px solid #000000; background:#fff; display:flex; align-items:center; justify-content:center; }
.logo-img { width:100%; height:100%; object-fit:cover; }
.brand-name { color:#fff; font-size:40px; font-weight:600; letter-spacing:0.6px; }

/* Nav */
.nav-container { flex:1; display:flex; justify-content:flex-end; }
.nav { display:flex; list-style:none; gap:28px; align-items:center; margin:0; padding:0; }
.nav > li { position:relative; }
nav ul li a {
    color: rgba(230, 230, 230, 0.796);      
    text-decoration: none;
    transition: 0.3s ease; 
}

nav ul li a:hover {
    color: #2de743;   
}

.nav-label { color:#fff; font-size:17px; font-weight:500; cursor:pointer; padding:8px; display:inline-block; }
.no-dropdown:hover { opacity:0.85; }

/* Dropdown (hover) */
.dropdown {
  position: relative;
}
.dropdown-content {
  display: none;
  position: absolute;
  top: 100%;         /* instead of calc(100% + 8px) */
  left: 0;
  margin-top: 4px;   /* tiny gap but still hoverable */
  background: #d6fdc4d6;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.12);
  z-index: 9999;
}
.dropdown::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 32px;        /* hover buffer */
  background: transparent;
}

.dropdown:hover > .dropdown-content { display:flex; }
.dropdown-content.small-menu { width:340px; }

/* columns */
.menu-column { min-width:160px; }
.menu-column h3 { margin:0 0 8px; color:#d32f2f; font-weight:600; font-size:15px; }
.menu-column a { display:block; color:#222; text-decoration:none; padding:6px 0; font-size:14px; }
.menu-column a:hover { color:#d32f2f; transform:translateX(4px); }

/* Main content area - full width but center internal content using max-width */
.main-content { width:100%; }
.animation-section { width:100%; max-width:1200px; margin:0 auto; padding:22px 16px; 
.main-nav a.nav-button {
  color: #fff;
  text-decoration: none;
}

.main-nav a.nav-button:hover {
  color: #ffe0e0;  /* same hover effect as your other buttons */
}
}
/* --------------------------- Full-width breakout ------------------------ */
/* Use when you need child elements to be edge-to-edge full-bleed */
.full-width-row {
  width: 100%;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 0;
}

/* ----------------------------- Slide-wrapper --------------------------- */
/* 100vh full-width slider sections (edge-to-edge) */
.slide-wrapper {
  position: relative;
  width: 100vw;         /* full viewport width */
  height: 100vh;        /* full viewport height */
  min-height: 480px;
  overflow: hidden;
  background: #000;
  display: block;
  border: 1px solid #fff;  /* Added subtle single-stroke white border around each slider */
}

/* When slide-wrapper sits inside a centered parent (avoid unwanted horizontal scroll) */
.slide-wrapper.full-bleed {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* Hide original .slides (JS will create stacked slides) */
.slide-wrapper .slides { display: none; }

/* --------------------------- Fade container ----------------------------- */
/* JS will create .fade-container and .fade-slide inside each .slide-wrapper */
.fade-container {
  position: absolute;
  inset: 0; /* top:0; right:0; bottom:0; left:0 */
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0;
  background: transparent;
}

/* each stacked slide */
.fade-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
  will-change: opacity;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 0;
}

/* visible slide */
.fade-slide.active {
  opacity: 1;
  z-index: 2;
}

/* image inside stacked slide */
.fade-slide img {
  width: 1024;
  height: 1024;
  object-fit: cover; /* cover for full-bleed hero */
  display: block;
}

/* per-image contain override */
.fade-slide img.contain-img {
  object-fit: contain;
  background: #fff;
}

/* ----------------------------- Slide Title ------------------------------ */
.slide-title, .card-title {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 6%;
  color: #fff;
  font-size: clamp(20px, 4vw, 48px);
  font-weight: 700;
  letter-spacing: 0.4px;
  padding: 10px 22px;
  background: none;
  border-radius: 100px;
  z-index: 10;
  text-align: center;
  text-shadow: 0 6px 22px rgba(0,0,0,0.55);
}

/* allow hiding title if needed */
.slide-wrapper.hide-title .slide-title { display: none; }

/* ----------------------------- Animation Section ----------------------- */
.animation-section {
  width: 100%;
  padding: 40px 20px;  /* spacing around the section */
  box-sizing: border-box;
}

/* Row wrapper for anim-boxes */
.anim-row {
  display: flex;
  flex-wrap: wrap;       /* allows boxes to wrap on smaller screens */
  margin: -15px;         /* offset inner box margin for consistent gap (increased from -10px) */
}

/* Animation boxes */
.anim-box {
  flex: 1 1 calc(33.333% - 30px); /* 3 per row, minus horizontal gap (updated for 15px margin) */
  margin: 15px;                     /* creates gap between boxes (increased from 10px) */
  min-height: 180px;
  height: 320px;                     /* default height */
  background-color: #111;
  border-radius: 10px;
  border: 1px solid #fff;            /* Added thin white border for a subtle single stroke */
  overflow: hidden;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Optional hover effect */
.anim-box:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.5);
}

/* Larger box if needed */
.anim-box.full {
  height: 380px;
}

/* ------------------------ Responsive Breakpoints ----------------------- */
/* Tablets: 2 boxes per row */
@media (max-width: 992px) {
  .anim-box {
    flex: 1 1 calc(50% - 30px);  /* Updated for 15px margin */
  }
}

/* Mobile: 1 box per row */
@media (max-width: 600px) {
  .anim-box {
    flex: 1 1 100%;
    margin: 15px 0; /* vertical spacing only (increased from 10px) */
  }
}

/* ----------------------------- Slider Sections (Gaps) ----------------------------- */
/* Add vertical gap between full-page slider sections */
.fullpage-section {
  margin-bottom: 20px;  /* Adds a little vertical gap between sections (adjust as needed) */
}

/* ----------------------------- Link not Appearing blue-------------------- */
a {
    color: inherit;
    text-decoration: none;
}

a:hover {
    color: #d32f2f;
}

/* ----------------------------- Footer --------------------------------- */
.footer {
  width: 100%;
  background: #2f2b1b;
  color: #fff;
  padding: 28px 0 36px;
  margin-top: 40px;
}
.footer-container {
  width: 95%;
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  gap: 30px;
  flex-wrap: wrap;
  align-items: flex-start;
}
.footer-col { min-width: 220px; }
.footer-col h3 { margin-bottom: 8px; font-size: 18px; font-weight: 700; }
.footer-col p { margin: 6px 0; font-size: 15px; opacity: 0.95; }
.footer-nav { width: 100%; display: flex; justify-content: center; gap: 10px; margin-top: 12px; font-size: 14px; opacity: 0.95; }

/* ----------------------------- Utilities ------------------------------- */
.brand-link { color: inherit; text-decoration: none; }
.text-center { text-align: center; }

/* ----------------------------- Responsive -------------------------------- */
@media (max-width: 1200px) {
  .header-inner { width: 95%; }
  .dropdown-content { max-width: calc(100vw - 32px); left: auto; right: 0; }
}

@media (max-width: 880px) {
  .header-inner { flex-direction: column; align-items: flex-start; gap: 10px; padding: 10px 14px; }
  .nav { flex-wrap: wrap; gap: 8px; }
  .slide-title { font-size: 22px; bottom: 5%; padding: 8px 16px; }
  .slide-wrapper { min-height: 320px; }
  .anim-row { flex-direction: column; gap: 18px; padding: 0 12px; }
  .dealer-form-container { width: 95%; padding: 18px; }
}

@media (max-width: 480px) {
  .brand-name { font-size: 15px; }
  .logo-box { width: 48px; height: 48px; }
  .slide-title { font-size: 18px; left: 50%; transform: translateX(-50%); bottom: 6%; padding: 6px 12px; }
  .slide-wrapper { min-height: 220px; }
}

/* ----------------------------- Accessibility / Focus -------------------- */
/* Show focus outlines for keyboard users */
a:focus, button:focus, input:focus, .nav-label:focus {
  outline: 3px solid rgba(211,47,47,0.18);
  outline-offset: 2px;
  border-radius: 6px;
}

/* --------------------------- Developer Notes --------------------------- */
/*
 - This stylesheet assumes your HTML keeps .slide-wrapper blocks (one per section),
   each containing a .slides element with <img> tags.
 - The provided JS should:
     * Hide .slides or the JS may clone images and create .fade-container with .fade-slide children.
     * Add/remove .fade-slide.active to control fades.
 - Slide titles are centered bottom by default; add class .hide-title on the .slide-wrapper to hide.
 - Image path case-sensitivity matters on production servers: 'images/' vs 'Images/'.
*/
