html,
body {
  margin: 0;
  padding: 0;
  height: 100%; /* Helps with layout height */
  scroll-behavior: smooth;
}

.fashion-text-glow {
  /* 1. KEEPS YOUR EXACT TYPOGRAPHY DESIGN VALUES */
  font-weight: 600;
  font-size: 24px;

  letter-spacing: 2px;
  text-transform: uppercase;
  margin: 10px 0;

  /* 2. CRITICAL ACCESSIBILITY FIXES */
  color: #ffffff !important; /* Force the letters to be solid, pure opaque white */
  opacity: 1 !important; /* Prevents any structural opacity from fading the letters */

  /* 3. WIDE GRADIENT SHIELD STRIP */
  /* This creates a wide horizontal capsule that drops to solid black right behind the text */
  background: linear-gradient(
    to right,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.75) 15%,
    rgba(0, 0, 0, 0.85) 50%,
    rgba(0, 0, 0, 0.75) 85%,
    rgba(0, 0, 0, 0) 100%
  ) !important;

  /* 4. VISUAL BACKDROP BLUR */
  /* Softens the highly detailed orange heat-map spikes directly under the word */
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);

  /* 5. OVER-SIZED SHADOWS FOR MAXIMUM EDGE SEPARATION */
  text-shadow:
    -3px -3px 2px #000000,
    3px -3px 2px #000000,
    -3px 3px 2px #000000,
    3px 3px 2px #000000,
    0px 4px 12px rgba(0, 0, 0, 0.95);

  /* 6. LAYOUT RENDERING COMPLIANCE */
  display: inline-block !important;
  padding: 12px 60px !important; /* Widened horizontal padding so the gradient covers the font edges */
  box-sizing: border-box;
}

header {
  text-align: center;
  color: #ffff;
  padding: 280px 0;
  margin: 0;
}

/* 1. FIXED: Removed the scrollbar behavior and the invalid typo rule */
.media-container {
  width: 100%;
}

/* 2. FIXED: Removed 'min-width: 800px' which can trigger scrollbars. 
      Kept your borders, fonts, and full-width rendering intact. */
table {
  border-collapse: collapse;
  border: 2px solid rgb(140 140 140);
  border-radius: 4px;
  font-family: sans-serif;
  font-size: 0.8rem;
  letter-spacing: 1px;

  width: 85%;

  margin: 20px auto;
}

caption {
  caption-side: bottom;
  padding: 10px;
  font-weight: bold;
}

thead {
  background-color: darkgray;
}

th,
td {
  padding: 12px;
  text-align: center;
  /* Keeps the contents anchored nicely at the top of the row */
  vertical-align: top;
  word-wrap: break-word;
  font-weight: 700;
}

/* Force left-alignment for the long text blocks so it is easy to read */
.text-summary {
  text-align: left;
  line-height: 1.4;
}

tbody > tr:nth-of-type(even) {
  background-color: rgb(237 238 242);
}

/* Style the images so they don't break out or scale weirdly */
/* 1. Prevent the table cell from expanding physically when the image grows */
td:has(.img-table) {
  overflow: visible;
  position: relative; /* Keeps the stacking index manageable */
}

/* 2. Base style for the shoe mockup image */
.img-table {
  width: 100%;
  max-width: 150px;
  height: auto;
  border-radius: 8px;
  display: block;
  margin: 0 auto;

  position: relative;
  z-index: 1;

  /* Prepares the element for a buttery-smooth zoom effect */
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    z-index 0.3s ease;
  cursor: pointer;
}

/* 3. The hover state: Enlarges the image smoothly by 40% and lifts it visually */
.img-table:hover {
  transform: scale(5.5);
  z-index: 90;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3); /* Adds a premium drop shadow on zoom */
}

.pitch-paragraph {
  width: 75%;
  display: block;
  margin: 0 auto;
}
/* --- Optimized Header Integration (Replaces both of your previous rules) --- */
.main-hero-header {
  width: 100%;
  box-sizing: border-box;

  /* CORE ASPECT RATIO BALANCER */
  height: auto;
  aspect-ratio: 16 / 6; /* Uses a wide, cinematic format to showcase the full width of the collage without clipping the shoes */
  min-height: 420px; /* Keeps the layout stable and spacious on smaller screens */

  /* CLEAN CUSHION SPACING (Removed the conflicting 280px padding) */
  padding: 40px 20px;
  margin: 0;

  /* FLEXBOX LAYOUT CORE ALIGNMENTS */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #ffffff;

  /* THE BG IMAGE CONFIGURATION MATRIX */
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.5)),
    url("../images/collage.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

/* --- Font Visibility Fixes --- */
.heading {
  font-family: "Inter", sans-serif;
  font-weight: 900;
  font-size: 42px;
  color: #ffffff;
  margin: 0;
  text-transform: uppercase;
}

.separator {
  color: #666;
  margin: 10px 0;
  font-size: 18px;
}

.subheading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 30px;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin: 0 0 25px 0;

  /* Your custom premium translucent faint style */
  color: #ffff;
  opacity: 0.45;

  text-shadow:
    0 0 4px rgba(0, 0, 0, 0.8),
    0 2px 8px rgba(0, 0, 0, 0.9);
}

.header-buttons a {
  margin: 0 10px;
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
}

main {
  background-color: #ffff;
}

hr {
  width: 47%;
}
.img-responsive {
  width: 100%;
}
.smart-raincoat {
  width: 340px;
  height: 200px;
  border: 6px ridge gray;
}
.smart-raincoat:hover {
  border: none;
  cursor: pointer;
  /* 1. Anchors the zoom from the left edge so it only grows rightward */
  transform-origin: left center;

  /* 2. Scaled to a large number so the viewer can thoroughly see every detail */
  transform: scale(2.9);

  z-index: 999;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3); /* Adds a premium drop shadow on zoom */
}
.adapter-23 {
  width: 340px;
  height: 200px;
  border-radius: 100px 100px 50px 50px;
  border: 9px ridge gray;
}
.adapter-23:hover {
  border: none;
  cursor: pointer;
  transform: scale(1.9);
  z-index: 999;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}
.sports-mold {
  width: 340px;
  height: 200px;
  /* border-radius: 5px 25px 25px 25px; */
  border: 9px ridge gray;
}
.sports-mold:hover {
  border: none;
  cursor: pointer;
  transform-origin: right;
  transform: scale(2);
  z-index: 999;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}
.card {
  background-color: #ffff;
  display: block;
  margin: 0 auto;
  padding-bottom: 68px;
}

.card button {
  display: block;
  margin: 0 auto;
  color: white;
  font-weight: 700;
  padding: 6px;
  background-color: darkgray;
  text-decoration: none;
}

.btn {
  display: block;
  margin: 0 auto;
  color: white;
  font-weight: 700;
  /* padding: 6px; */
  padding: 6px 6px;
  width: 50%;
  background-color: darkslategray;
  text-decoration: none;
}

.card h4 {
  font-weight: 700;
  font-size: 13px;
  line-height: 1.5;
  color: #272044;
}

h2 {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 5px;
  color: #272044;
  opacity: 0.3;
  text-transform: uppercase;
  margin: 0;
}

main h2 {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 5px;
  color: #272044;
  opacity: 0.3;
  text-transform: uppercase;
  margin: 0;
}

main h3 {
  font-weight: 700;
  font-size: 40px;
  line-height: 1.5;
  color: #272044;
  margin: 0;
}

main p {
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  line-height: 1.5;
  color: #272044;
  opacity: 0.7;
}

.heading {
  font-family: "Oswald", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 3rem;
  line-height: 0.95;
  letter-spacing: -0.04em; /* Pulls the condensed letters tighter */
}

.subheading {
  font-family: "Inter", sans-serif;
  font-weight: 800;
  font-size: 30px;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.15em;

  /* CORE FIXES FOR FAINT ACCESSIBILITY */
  color: #ffffff;
  opacity: 0.45; /* Controls the exact level of transparency (0.0 to 1.0) */

  /* Creates a subtle dark halo right under the letters to isolate them from background patterns */
  text-shadow:
    0 0 4px rgba(0, 0, 0, 0.8),
    0 2px 8px rgba(0, 0, 0, 0.9);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 2fr;
  grid-gap: 20px;
}

/* ========================================================
   CONTINUATION PASTE LAYER START POINT
   ======================================================== */
.grid-two-rows {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr;
  grid-gap: 5px;
}

.grid-three-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;

  /* 1. Pulls cards to the top, but lets them naturally take up vertical space */
  align-items: stretch;

  /* 2. Control the internal breathing room at the top and bottom of the section */
  padding-top: 15px; /* Keeps them close to the text, but not touching */
  padding-bottom: 70px; /* Gives them room to comfortably stretch downward */
}

section {
  max-width: 100%;
  margin: 0 auto;
  padding: 60px 0 0 0;
  background-color: #f8f8f8;
}

.container {
  max-width: 1400px;
  margin: 0 auto;
}

.embed {
  width: 100%;
  aspect-ratio: 1 / 1;
}

footer {
  text-align: center;
  color: #ffff;
  background-image:
    linear-gradient(rgba(39, 32, 68, 0.9), rgba(0, 0, 0, 0.8)),
    url("../images/teyana_taylor_durag_cape.png") !important;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 100px 0;
  margin: 0 10px 0;
  overflow: hidden;
}

footer p {
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  opacity: 0.9;
}

footer ul,
li {
  list-style: none;
  margin: 0;
  padding: 0;
}

footer a {
  color: white;
  opacity: 0.7;
}

header a {
  font-weight: 700;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 3px;
  text-decoration: none;
  text-transform: uppercase;
  background: white;
  padding: 16px 32px;
  margin-top: 32px;
  display: inline-block;
}

footer h3 {
  font-weight: 700;
  font-size: 20px;
  line-height: 30px;
}

/* Creates space above the footer so the button doesn't touch text content */
.footer-wrapper {
  position: relative;
  width: 100%;
  padding-top: 60px;
}

.back-to-top-button {
  /* Positioning of the button */
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  padding: 8px 24px;
  min-height: 40px;

  font-family: "Helvetica Now", "Helvetica", Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1;
  border: none;
  cursor: pointer;
  text-decoration: none;

  background-color: #ffffff;
  color: #111111;
  transition:
    background-color 0.15s ease-in-out,
    transform 0.15s ease-in-out;
}

.back-to-top-button:hover {
  background-color: #e5e5e5;
  transform: translateX(-50%) scale(1.02);
}

.back-to-top-button:active {
  transform: translateX(-50%) scale(0.98);
}

/* Container to help position the button over your image card */
.play-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 0;
}

/* The Nike style circular button wrapper */
.play-btn {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: not-allowed;

  /* Smooth transition animation */
  transition:
    transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1),
    background-color 0.2s ease;
}

/* The solid inner triangle icon */
.play-arrow {
  color: #ffffff;
  font-size: 20px;
  /* Visual correction: slides the triangle slightly right so it looks perfectly centered */
  margin-left: 4px;
  line-height: 1;
}

/* Nike Hover State Interaction */
.play-btn:hover {
  transform: scale(1.08); /* Distinct crisp expansion on hover */
}

/* Active State Interaction (When Clicked) */
.play-btn:active {
  transform: scale(0.96);
}

/*==========================================================================
  UPDATED BLOCK: CSS Styling for the Adapter 22 3D Simulation (Split Grid)
  ========================================================================== */
/* Core 3-Column Horizontal Grid Container */
.nike-terrain-container.side-by-side-split {
  background-color: #111111;
  color: #ffffff;
  padding: 30px;
  border-radius: 12px;
  max-width: 100%;
  margin: 20px auto 40px auto;
  font-family: "Inter", sans-serif;
  border: 1px solid #222;

  /* Creates three distinct side-by-side layout partitions */
  display: grid;
  grid-template-columns: 1fr 0.4fr 1.2fr;
  gap: 20px;
  align-items: center;
}

.control-column {
  display: flex;
  flex-direction: column;
}

.nike-terrain-container h4 {
  color: #ffffff;
  font-size: 20px;
  margin: 0 0 15px 0;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.slider-rail-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
}

#nikeTerrainSlider {
  /* Changes layout engine parsing from horizontal track to vertical track */
  writing-mode: vertical-lr;
  direction: rtl; /* Sets right-to-left layout tracking rules internally */

  /* Standard CSS transformations to scale it cleanly */
  width: 12px;
  height: 240px; /* Dictates how long the vertical tracking slider rail stretches down */
  -webkit-appearance: none;
  appearance: none;
  background: #333333;
  border-radius: 10px;
  outline: none;
  cursor: grab;

  /* Flips the track so Step 1 (Mud) sits up high and Step 6 (Water) sits down low */
  transform: rotate(180deg);
}

/* Customizing the slider knob to be Nike Volt Green */
#nikeTerrainSlider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: burlywood;
  cursor: grabbing;
  box-shadow: 0 0 10px rgba(222, 184, 135, 0.5);
  transition: transform 0.1s ease;
}

#nikeTerrainSlider::-webkit-slider-thumb:hover {
  transform: scale(1.2);
}

/* Column 1: Left-Side Block Items Stack */
.terrain-legend-column {
  display: flex;
  flex-direction: column;
  gap: 12px; /* Uniform vertical spacing matching the list height layout */
}

.terrain-block {
  background-color: transparent;
  padding: 10px 14px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #666666;
  border: 1px solid transparent;
  transition: all 0.2s ease-in-out;
}

.terrain-block.active-highlight {
  color: #111111;
  background-color: burlywood;
  box-shadow: 0 4px 12px rgba(222, 184, 135, 0.3);
  border-color: burlywood;
  transform: translateX(4px);
}

/* Column 2: Center-Aligned Slider Space Track */
.center-track-column {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  min-height: 280px; /* Forces enough vertical space to align with your text row heights */
}

/* Telemetry Box Formatting */
.hud-spec-display {
  background-color: black;
  padding: 20px;
  border-left: 4px solid darkslategray;
  border-radius: 4px;
}

.hud-title {
  font-size: 9px;
  letter-spacing: 2px;
  color: darkslategray;
  margin: 0 0 5px 0;
  font-weight: 900;
  background-color: #ffff;
}

#hudTerrainName {
  font-size: 22px;
  font-weight: 800;
  color: #ffffff;
  margin: 0 0 12px 0;
  text-transform: uppercase;
}

.hud-node-matrix p {
  font-size: 12px;
  margin: 10px 0;
  color: #aaaaaa;
  line-height: 1.4;
}

.hud-node-matrix span {
  color: burlywood;
  font-weight: 700;
}

/* Centers the 3D viewer canvas perfectly inside its layout card column */
.nike-3d-frame {
  width: 100%;
  box-sizing: border-box;
  display: block;
  margin: 0 auto 20px auto;
  padding: 0;
  overflow: hidden;
}

/* Container wrapper for smooth transition effects */
#nike3DCanvasWrapper {
  width: 100%;
  height: 380px;
  box-sizing: border-box;
  position: relative;
}

/* Forces the interactive WebGL component to scale precisely within the layout column */
model-viewer#nikeModel {
  width: 100%;
  height: 100%;
  display: block;
  box-sizing: border-box;
}

/* ==========================================================================
   ADDED RESPONSIVE MEDIA LAYER (ONLY EXECUTES FOR MOBILE DIMENSIONS)
   ========================================================================== */
@media screen and (max-width: 768px) {
  html,
  body {
    width: 100%;
    max-width: 100% !important;
    overflow-x: hidden !important; /* Safe global layout framing lock */
    position: relative;
  }

  /* 2. PROTECT CONTAINER BLOCKS FROM SCALE BLEEDING */
  main,
  .container,
  .grid-three-columns,
  .card,
  .table-container-flat {
    max-width: 100% !important;
    box-sizing: border-box;
    overflow: visible !important; /* Allows layout rows to grow vertically down */
  }

  /* Completely neutralizes desktop structural layout restrictions on mobile screens */
  .table-container-flat table {
    display: block !important;
    width: 100% !important;
    table-layout: auto !important; /* Breaks out of fixed columns so text wraps completely */
    border: none !important; /* Removes the heavy outer boundary block */
  }

  .table-container-flat tbody {
    display: block !important;
    width: 100% !important;
  }

  /* Hide the horizontal desktop header row entirely on small screens */
  .table-container-flat thead {
    display: none !important;
  }

  /* Add spacious padding and clear separating margins to treat each row like a readable article card */
  .table-container-flat tr {
    display: block !important;
    width: 100% !important;
    margin-bottom: 35px !important; /* Adds room so rows don't crash into each other vertically */
    border: 2px solid rgb(140 140 140) !important;
    border-radius: 8px !important;
    background-color: #ffffff !important;
    padding: 15px !important;
    box-sizing: border-box;
  }

  /* Clear spatial distribution for content rows */
  .table-container-flat th[scope="row"],
  .table-container-flat td {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    padding: 10px 6px !important;
    box-sizing: border-box;
    word-wrap: break-word; /* Forces single long strings to wrap neatly instead of breaking past borders */
  }

  /* Structural heading separation */
  .table-container-flat th[scope="row"] {
    font-size: 1.2rem !important;
    color: #272044 !important;
    border-bottom: 2px solid rgb(228 240 245) !important;
    margin-bottom: 12px !important;
    font-weight: 900 !important;
  }

  /* Style row headers for the small labels */
  .status-cell {
    font-size: 0.95rem !important;
    color: darkslategray !important;
  }

  /* Insulates the table cell holding the shoe mockup photo so it renders centered with zero clipping boundary blocks */
  .image-cell {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 15px 0 !important;
  }

  .img-table {
    max-width: 160px !important; /* Keeps row images comfortably sized on narrow mobile arrays */
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
  }

  .text-summary {
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    color: #272044 !important;
  }

  .main-hero-header {
    height: auto;
    min-height: 380px;
    padding: 40px 15px;
    aspect-ratio: auto;
  }

  .heading {
    font-size: 2.2rem;
  }

  .fashion-text-glow {
    font-size: 18px;
    padding: 10px 25px !important;
    max-width: 90%;
  }

  /* Stacks layout hero links vertically */
  .header-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 85%;
    margin-top: 20px;
  }

  .header-buttons a {
    display: block;
    width: 100%;
    box-sizing: border-box;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 12px !important;
    margin: 0 !important;
    border-radius: 4px;
    text-align: center;
  }

  /* Collapses multi-column sections to native rows */
  .grid-three-columns,
  .footer-grid,
  .pitch-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 25px;
  }

  /* Adjusts the 3D control board framework onto small viewports */
  .nike-terrain-container.side-by-side-split {
    display: flex;
    flex-direction: column;
    width: 100%;
    box-sizing: border-box;
    padding: 15px;
  }

  .center-track-column {
    min-height: auto;
    padding: 20px 0;
  }

  #nikeTerrainSlider {
    writing-mode: horizontal-tb; /* Flips slider back to horizontal for thumb optimization */
    direction: ltr;
    transform: none;
    width: 100%;
    height: 12px;
  }

  .pitch-paragraph {
    width: 92%;
  }

  .smart-raincoat,
  .adapter-23,
  .sports-mold {
    width: 100% !important;
    max-width: 320px;
    height: auto !important;
    aspect-ratio: 340 / 200;
  }

  /* MANDATORY PROPS DEFINED TO SECURE FOOTER CAPE IMAGE RETENTION ON SMARTPHONES */
  footer {
    background-image:
      linear-gradient(rgba(39, 32, 68, 0.9), rgba(0, 0, 0, 0.8)),
      url("../images/teyana_taylor_durag_cape.png") !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center center !important;
  }
}
