/* ========================================================
   PELITA MUDA BASKETBALL - OFFICIAL STYLESHEET
   #FORTHEKHULTURE Design System
   ======================================================== */

:root {
  --color-primary: #b6c4ff;
  --color-primary-container: #0d42b8;
  --color-secondary-container: #ffc703;
  --color-background: #111418;
  --color-surface: #111418;
  --color-surface-dim: #111418;
  --color-surface-container: #1d2024;
  --color-surface-container-low: #191c20;
  --color-surface-container-high: #272a2e;
  --color-surface-container-lowest: #0b0e12;
  --color-surface-bright: #36393e;
  --color-on-surface: #e1e2e8;
  --color-on-surface-variant: #c4c5d6;
  --color-outline: #8e909f;
  --color-outline-variant: #434653;
  --color-error: #ffb4ab;
  --font-bebas: 'Bebas Neue', sans-serif;
  --font-montserrat: 'Montserrat', sans-serif;
}

/* Court Grid Overlay */
.court-grid-pattern {
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: 40px 40px;
}

/* Angular Cut Corner Aesthetics */
.cut-corner {
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);
}

.cut-corner-l {
  clip-path: polygon(14px 0, 100% 0, 100% 100%, 0 100%, 0 14px);
}

.cut-corner-both {
  clip-path: polygon(14px 0, calc(100% - 14px) 0, 100% 14px, 100% calc(100% - 14px), calc(100% - 14px) 100%, 14px 100%, 0 calc(100% - 14px), 0 14px);
}

.slash-diagonal {
  clip-path: polygon(0 0, 100% 0, 100% 88%, 0 100%);
}

.slash-diagonal-reverse {
  clip-path: polygon(0 8%, 100% 0, 100% 100%, 0 100%);
}

/* Hard Drop Shadows (Athletic Editorial) */
.stadium-shadow {
  box-shadow: 6px 6px 0px 0px #ffc703;
}

.stadium-shadow-blue {
  box-shadow: 6px 6px 0px 0px #0d42b8;
}

.stadium-shadow-sm {
  box-shadow: 4px 4px 0px 0px #ffc703;
}

.stadium-shadow-blue-sm {
  box-shadow: 4px 4px 0px 0px #0d42b8;
}

/* Athletic Button Hover State */
.btn-athletic {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-family: var(--font-montserrat);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.btn-athletic:active {
  transform: translate(2px, 2px);
  box-shadow: none !important;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: #0b0e12;
}

::-webkit-scrollbar-thumb {
  background: #272a2e;
  border-radius: 2px;
  border: 1px solid #434653;
}

::-webkit-scrollbar-thumb:hover {
  background: #ffc703;
}

/* Smooth Page Scroll */
html {
  scroll-behavior: smooth;
}

/* Active Nav Indicator */
.nav-link.active {
  color: #ffc703 !important;
  border-bottom: 2px solid #ffc703;
  padding-bottom: 2px;
}

/* ========================================================
   RESPONSIVE & OVERFLOW CONTAINMENT (Prevent Mobile Horizontal Scroll)
   ======================================================== */
html,
body {
  overflow-x: clip !important;
  overflow-x: hidden !important;
  max-width: 100vw;
  width: 100%;
  position: relative;
  -webkit-text-size-adjust: 100%;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
svg,
video,
canvas,
iframe {
  max-width: 100%;
  height: auto;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
a {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* Adjust padding on mobile devices for optimal athletic ergonomics */
@media (max-width: 640px) {
  .px-margin {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }
}

/* Mobile Bottom Navigation Safe-area padding */
.bottom-nav-safe {
  padding-bottom: max(0.5rem, env(safe-area-inset-bottom));
}