@import url("https://fonts.googleapis.com/css2?family=Hepta+Slab:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,600;1,700&family=Inter:wght@400;500;600&display=swap");

/* All previous CSS rules have been migrated to Tailwind utility classes in home.html */
:root {
  --stats-h: clamp(74px, calc(13.74vw + 18.75px), 217px);
  --cd-size: min(29vw, 420px, calc(var(--stats-h) * 2.2));
  --hero-h: clamp(420px, 50vw, 721px);
  --kb-w: clamp(200px, 33.1vw, 478px);
  --hero-strip-h: clamp(32px, 4.44vw, 64px);
}

html,
body {
  margin: 0;
  padding: 0;
  background: #000;
  overflow-x: hidden;
}

* {
  box-sizing: border-box;
}

/* ── Targeted browser-default resets (Tailwind preflight is disabled) ─────── */
footer button,
footer button[type="button"],
#faq-section button,
#sponsors-section button {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  color: inherit;
  cursor: pointer;
}

/* Anchors: browsers default to blue — reset to inherit in footer              */
footer a,
#faq-section a {
  color: inherit;
  text-decoration: none;
}
/* ─────────────────────────────────────────────────────────────────────────── */

/* Navbar */

.home-navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;

  display: flex;
  align-items: center;
  justify-content: space-between;

  margin: 20px 3% 32px;
  padding: 7px 16px;

  background: rgba(0, 0, 0, 0.27);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  border-radius: 12px;
}

.home-navbar-brand {
  display: flex;
  align-items: center;
  gap: 8px;
}

.home-navbar-logo {
  width: 30px;
  height: 34px;
  object-fit: contain;
}

.home-navbar-brand-text {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

.home-navbar-title {
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.1;
}

.home-navbar-year {
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  font-weight: 500;
}

.home-navbar-links {
  display: flex;
  align-items: center;
  gap: 40px;
  margin-right: 15px;
}

.home-navbar-links a {
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: opacity 0.2s ease;
  font-family: "Hepta Slab", serif;
}

.home-navbar-links a:hover {
  opacity: 0.7;
}

.home-navbar-register {
  padding: 10px 16px;
  border-radius: 6px;
  background: #fff;
  color: #161616;
  font-family: "Hepta Slab", serif;
  font-size: 16px;
  font-weight: 500;
  transition: background 0.2s ease;
  text-decoration: none;
}

.home-navbar-register:hover {
  background: #e0e0e0;
}

.home-navbar-hamburger {
  display: none;
  border: none;
  outline: none;
  background: transparent;
  appearance: none;
  -webkit-appearance: none;
  padding: 0;
  margin: 0;
  color: #fff;
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
}

/* Hero */

.hero-content {
  position: relative;
  width: 100%;
  height: calc(var(--hero-h) + var(--hero-strip-h));
  overflow: visible;
}

.hero-video {
  position: absolute;
  inset: 0 0 auto 0;
  width: 100%;
  height: var(--hero-h);
  object-fit: cover;
  z-index: 1;
}

.hero-video-mobile {
  display: none;
}

.hero-strip {
  position: absolute;
  left: 0;
  right: 0;
  top: var(--hero-h);
  height: var(--hero-strip-h);
  background: #000000;
  z-index: 2;
  pointer-events: none;
}

.stats-section {
  position: relative;
  width: 100%;
  height: var(--stats-h);
  background: #000;
  overflow: visible;
}

.stats-section::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: calc(var(--hero-strip-h) * -0.06);
  height: calc(var(--hero-strip-h) * 0.12);
  background: linear-gradient(
    354.16deg,
    rgba(0, 0, 0, 0) 15.9%,
    #000 52.92%,
    #000 71.02%,
    rgba(0, 0, 0, 0) 90.35%
  );
  filter: blur(4px);
  z-index: 100;
  pointer-events: none;
}

/* Keyboard */

.keyboard-wrap {
  position: absolute;
  top: calc(var(--hero-h) - var(--kb-w) * 308.39 / 478 + var(--hero-strip-h));
  right: 0;
  width: var(--kb-w);
  aspect-ratio: 478 / 308.39;
  z-index: 10;
  overflow: hidden;
}

.keyboard-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.keyboard {
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
  clip-path: inset(0 0 2px 0);
}

.register-btn {
  position: absolute;
  width: 39.19%;
  height: 25.28%;
  left: 49.3%;
  top: 37.6%;
  transform: translate(-63%, -60%) rotate(-6.44deg);
  transform-origin: center;
  display: block;
  cursor: pointer;
  z-index: 3;
}

.register-btn-2 {
  position: absolute;
  width: 45.56%;
  height: 29.17%;
  left: 8.92%;
  top: 31.92%;
  transform: translate(2%, -13%) rotate(-6.44deg);
  transform-origin: center;
  display: block;
  cursor: pointer;
  z-index: 3;
}

.register-btn-state {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  transition: opacity 1200ms cubic-bezier(0.83, 0, 0.17, 1);
}

.register-btn-state--hover {
  opacity: 0;
}

.register-btn:hover .register-btn-state--idle,
.register-btn-2:hover .register-btn-state--idle {
  opacity: 0;
}

.register-btn:hover .register-btn-state--hover,
.register-btn-2:hover .register-btn-state--hover {
  opacity: 1;
}

/* Stats */

.stats-wrapper {
  position: relative;
  width: 100%;
  padding-top: 0;
  background: #000;
  z-index: 20;
}

.stats-section {
  position: relative;
  width: 100%;
  background: #000;
  overflow: visible;
  height: var(--stats-h);
}

.stats-section::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: clamp(-3px, -0.2vw, -1px);
  height: clamp(1px, 0.15vw, 5px);
  background: #000;
  filter: blur(clamp(1px, 0.2vw, 3px));
  z-index: 100;
  pointer-events: none;
}

/* Color gradient */

.stats-section::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: clamp(50px, 70%, 155px);
  background: linear-gradient(
    90deg,
    rgba(0, 65, 255, 0) 0%,
    rgba(0, 65, 255, 0) 12%,
    rgba(0, 220, 255, 0.03) 17%,
    rgba(0, 245, 65, 0.2) 23%,
    rgba(0, 245, 65, 0.9) 30%,
    rgba(190, 255, 0, 0.95) 43%,
    rgba(255, 210, 0, 1) 52%,
    rgba(255, 75, 0, 1) 67%,
    rgba(255, 0, 75, 0.96) 81%,
    rgba(90, 55, 255, 0.88) 100%
  );
  mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    transparent 18%,
    rgba(0, 0, 0, 0.15) 30%,
    rgba(0, 0, 0, 0.65) 47%,
    #000 68%,
    #000 100%
  );
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    transparent 18%,
    rgba(0, 0, 0, 0.15) 30%,
    rgba(0, 0, 0, 0.65) 47%,
    #000 68%,
    #000 100%
  );
  filter: blur(6px);
  transform: scaleX(1.02);
  z-index: 0;
}

.stats-row {
  position: relative;
  z-index: 20;
  display: grid;
  grid-template-columns: repeat(
    3,
    clamp(90.74px, calc(16.26vw + 25.3px), 260px)
  );
  column-gap: clamp(14px, calc(7.01vw - 14.2px), 87px);
  justify-content: end;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 4% 0 max(102px, calc(var(--cd-size) + 24px));
  pointer-events: none;
}

.stat-box {
  width: 100%;
  height: clamp(48.12px, calc(8.83vw + 12.63px), 140px);
  padding: clamp(4px, calc(1.54vw - 2.2px), 20px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.84);
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-radius: 16px;
  text-align: center;
  pointer-events: auto;
}

.stat-number {
  display: block;
  color: #fff;
  font-family: "Hepta Slab", serif;
  font-size: clamp(17px, calc(2.98vw + 5px), 48px);
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

.stat-label {
  display: block;
  margin-top: clamp(3px, calc(1.25vw - 2px), 16px);
  color: #fff;
  font-family: "Hepta Slab", serif;
  font-size: clamp(9px, calc(0.77vw + 5.9px), 17px);
  line-height: 1;
}

/* CD */

.cd-clip {
  position: absolute;
  inset: 0;
  height: calc(var(--hero-h) + var(--stats-h) + var(--cd-size));
  overflow: hidden;
  z-index: 25;
  pointer-events: none;
}

.cd-glimpses-wrap {
  position: absolute;
  top: var(--hero-h);
  left: -4%;
  width: var(--cd-size);
  height: var(--cd-size);
  z-index: 15;
  cursor: pointer;
  overflow: visible;
  pointer-events: none;
}

.cd-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1;
  pointer-events: auto;
  clip-path: circle(50% at 50% 50%);
}

.cd-glimpses {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.cd-main {
  z-index: 3;
  transform: rotate(-45deg);
  transition: transform 700ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.cd-glimpses-wrap.is-spun .cd-main {
  transform: rotate(16deg);
}

.cd-trail {
  opacity: 0;
  transform: rotate(-45deg);
  transform-origin: center;
  transition:
    opacity 350ms ease,
    transform 700ms ease;
  pointer-events: none;
}

.cd-trail-1 {
  z-index: 6;
}

.cd-trail-2 {
  z-index: 5;
}

.cd-trail-3 {
  z-index: 4;
}

.cd-trail-1.is-peak {
  opacity: 0.28;
  transform: rotate(-8deg);
}

.cd-trail-2.is-peak {
  opacity: 0.2;
  transform: rotate(0);
}

.cd-trail-3.is-peak {
  opacity: 0.12;
  transform: rotate(8deg);
}

.cd-glimpses-wrap.is-spun .cd-trail {
  transform: rotate(16deg);
}

.cd-glimpses-wrap.is-spun .cd-trail-1 {
  transform: rotate(-8deg);
}

.cd-glimpses-wrap.is-spun .cd-trail-2 {
  transform: rotate(0);
}

.cd-glimpses-wrap.is-spun .cd-trail-3 {
  transform: rotate(8deg);
}

/* About Section*/

.about-section {
  position: relative;
  width: 100%;
  min-height: clamp(900px, 132.29vw, 1905px);
  background: rgba(15, 15, 15, 1);
  overflow: hidden;
  --s2: clamp(0.472, 100vw / 1443, 1);
}

.about-section__intro,
.about-section__fest {
  position: absolute;
  display: flex;
  flex-direction: column;
  gap: clamp(13px, 1.87vw, 27px);
  width: min(600px, 40.14vw);
}

.about-section__intro {
  top: clamp(80px, 13.44vw, 194px);
  left: 8.32%;
}

.about-section__fest {
  top: clamp(545px, 80.04vw, 1155px);
  left: 59.32%;
}

.about-section__intro h2,
.about-section__fest h2 {
  white-space: nowrap;
  margin: 0;
  font-family: "Poltawski Nowy", serif;
  font-weight: 500;
  font-style: italic;
  font-size: clamp(32px, 3.33vw, 48px);
  line-height: 130%;
  letter-spacing: 0;
  overflow: visible;
}

.about-section__intro h2 span,
.about-section__fest h2 span {
  display: block;
  overflow: visible;
}

.about-section__intro h2 span:first-child,
.about-section__fest h2 span:first-child {
  color: #fff;
}

.about-section__intro h2 span:last-child,
.about-section__fest h2 span:not(:first-child) {
  background: linear-gradient(90deg, #a33a11, #e8783b);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.about-section p {
  margin: 0;
  width: 100%;
  color: rgba(255, 255, 255, 0.5);
  font-family: "Hepta Slab", serif;
  font-weight: 500;
  font-size: clamp(12px, 1.11vw, 16px);
  line-height: 130%;
}

.about-section__keyboard {
  position: absolute;
  right: 0;
  bottom: 0;
  width: min(480px, 42vw);
  aspect-ratio: 480 / 312;
}

.about-section__keyboard > img {
  width: 100%;
  height: 100%;
  display: block;
}

.about-section__camera {
  position: absolute;
  top: clamp(200px, 33.96vw, 490px);
  left: clamp(-142px, -9.84vw, -60px);
  width: clamp(200px, 30.56vw, 441px);
  height: clamp(200px, 30.56vw, 441px);
}

.about-section__camera img {
  width: 100%;
  height: 100%;
  display: block;
}

.about-section__cassette {
  position: absolute;
  top: clamp(380px, 51.56vw, 744px);
  right: clamp(-118.97px, -8.25vw, -40px);
  width: clamp(190px, 28.52vw, 411.57px);
  height: clamp(207px, 31.06vw, 448.35px);
}

.about-section__cassette img {
  width: 100%;
  height: 100%;
  display: block;
}

.about-gallery__photo {
  position: absolute;
  width: clamp(150px, 18.5vw, 267px);
  height: clamp(140px, 17.25vw, 249px);
  transition:
    width 0.35s ease,
    height 0.35s ease;
}

.about-gallery__photo img {
  width: 100%;
  height: 100%;
  display: block;
}

.about-gallery__photo:hover {
  width: clamp(175px, 21.62vw, 312px);
  height: clamp(164px, 20.24vw, 292px);
  z-index: 20;
}

.about-gallery__photo--1 {
  top: clamp(-191.42px, -13.27vw, -96px);
  left: 57.39%;
  transform: rotate(-11.65deg);
  z-index: 12;
}

.about-gallery__photo--2 {
  top: clamp(13px, 1.84vw, 26.61px);
  left: 64.64%;
  transform: rotate(8.24deg);
  z-index: 11;
}

.about-gallery__photo--3 {
  top: clamp(122px, 16.98vw, 245px);
  left: 65.35%;
  transform: rotate(-10.02deg);
  z-index: 10;
}

.about-gallery__photo--4 {
  top: clamp(237px, 32.85vw, 474px);
  left: 59.65%;
  transform: rotate(8.27deg);
  z-index: 9;
}

.about-gallery__photo--5 {
  top: clamp(317px, 43.94vw, 634px);
  left: 46.88%;
  transform: rotate(-4.5deg);
  z-index: 8;
}

.about-gallery__photo--6 {
  top: clamp(337px, 46.71vw, 674px);
  left: 30.49%;
  transform: rotate(15.43deg);
  z-index: 7;
}

.about-gallery__photo--7 {
  top: clamp(399px, 55.37vw, 799px);
  left: 20.14%;
  transform: rotate(-4.63deg);
  z-index: 6;
}

.about-gallery__photo--8 {
  top: clamp(483px, 66.94vw, 966px);
  left: 9.38%;
  transform: rotate(-8.12deg);
  z-index: 5;
}

.about-gallery__photo--9 {
  top: clamp(589px, 81.81vw, 1178px);
  left: 4.86%;
  transform: rotate(8.6deg);
  z-index: 4;
}

.about-gallery__photo--10 {
  top: clamp(686px, 95.35vw, 1373px);
  left: 6.11%;
  transform: rotate(25.32deg);
  z-index: 3;
}

.about-gallery__photo--11 {
  top: clamp(800px, 111.11vw, 1600px);
  left: 15.07%;
  transform: rotate(-10.36deg);
  z-index: 2;
}

.about-gallery__photo--12 {
  top: clamp(881px, 122.36vw, 1762px);
  left: 26.04%;
  transform: rotate(-10.36deg);
  z-index: 1;
}

.about-gallery__photo--13,
.about-gallery__photo--14 {
  display: none;
}

@media (max-width: 786px) {
  .home-navbar-links {
    display: none;
  }

  .home-navbar-links.is-open {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: calc(100% + 10px);
    right: 16px;
    width: 190px;
    padding: 12px;
    gap: 4px;
    background: rgba(0, 0, 0, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
    z-index: 1000;
  }

  .home-navbar-links a {
    display: block;
    width: 100%;
    padding: 12px 14px;
    border-radius: 8px;
  }

  .home-navbar-links a:hover {
    background: rgba(255, 255, 255, 0.1);
  }

  .home-navbar-register {
    display: none;
  }

  .home-navbar-hamburger {
    display: flex;
  }

  .home-navbar-hamburger {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

/* SECTION 1 — 900px → 786px : fixed composition + crop */

@media (max-width: 900px) and (min-width: 786.01px) {
  :root {
    --stats-h: 142.41px;
    --cd-size: 261px;
    --hero-h: 450px;
    --kb-w: 297.9px;
    --hero-strip-h: 39.96px;
  }

  .hero-content {
    width: 900px;
    margin-left: 50%;
    transform: translateX(-50%);
  }

  .hero-video-desktop {
    width: 900px;
    height: var(--hero-h);
  }

  .hero-strip {
    width: 900px;
  }

  .keyboard-wrap {
    /* keep all existing desktop size/position — now stays fixed since --hero-h/--kb-w/--hero-strip-h are frozen */
  }

  .stats-wrapper {
    width: 900px;
    margin-left: 50%;
    transform: translateX(-50%);
    overflow: hidden;
  }

  .stats-section {
    width: 900px;
  }

  .stats-row {
    grid-template-columns: repeat(3, 171.64px);
    column-gap: 48.89px;
  }

  .stat-box {
    height: 92.1px;
    padding: 11.66px;
  }

  .stat-number {
    font-size: 31.82px;
  }

  .stat-label {
    margin-top: 9.25px;
    font-size: 12.83px;
  }
}

/* Mobile */
@media (max-width: 786px) {
  :root {
    --hero-h: 159.95vw;
    --stats-h: 18.40796vw;
    --cd-size: calc(var(--stats-h) * 2.2);
    --hero-strip-h: 0px;
  }

  .hero-content {
    width: 100%;
    height: var(--hero-h);
    overflow: hidden;
  }

  .hero-video-desktop {
    display: none;
  }

  .hero-video-mobile {
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    width: auto;
    height: 100%;
    transform: translateX(-50%);
    object-fit: cover;
    object-position: center;
  }

  .hero-strip {
    display: none;
  }

  .keyboard-wrap {
    display: none;
  }

  .stats-wrapper {
    width: 100%;
    padding-top: 0;
  }

  .stats-section {
    width: 100%;
    height: var(--stats-h);
  }

  .cd-glimpses-wrap {
    left: -18%;
    top: calc(var(--hero-h) - var(--cd-size) * 0.35);
    z-index: -6;
  }
}

/* SECTION 2 — RESPONSIVE */

@media (max-width: 900px) and (min-width: 786.01px) {
  .about-section {
    width: 900px;
    min-height: 1190.61px;
  }

  .about-section__intro {
    width: 361.26px;
    top: 120.96px;
  }

  .about-section__fest {
    width: 361.26px;
    top: 720.36px;
  }

  .about-section__intro h2,
  .about-section__fest h2 {
    font-size: 32px;
  }

  .about-section p {
    font-size: 12px;
  }

  .about-section__keyboard {
    width: 378px;
  }

  .about-section__camera {
    top: 305.64px;
    left: -88.56px;
    width: 275.04px;
    height: 275.04px;
  }

  .about-section__cassette {
    top: 464.04px;
    right: -74.25px;
    width: 256.68px;
    height: 279.54px;
  }

  .about-gallery__photo,
  .about-gallery__photo:hover {
    width: 166.5px;
    height: 155.25px;
  }

  .about-gallery__photo--1 {
    top: -119.43px;
  }
  .about-gallery__photo--2 {
    top: 16.56px;
  }
  .about-gallery__photo--3 {
    top: 152.82px;
  }
  .about-gallery__photo--4 {
    top: 295.65px;
  }
  .about-gallery__photo--5 {
    top: 395.46px;
  }
  .about-gallery__photo--6 {
    top: 420.39px;
  }
  .about-gallery__photo--7 {
    top: 498.33px;
  }
  .about-gallery__photo--8 {
    top: 602.46px;
  }
  .about-gallery__photo--9 {
    top: 736.29px;
  }
  .about-gallery__photo--10 {
    top: 858.15px;
  }
  .about-gallery__photo--11 {
    top: 999.99px;
  }
  .about-gallery__photo--12 {
    top: 1101.24px;
  }
}

@media (max-width: 786px) {
  .about-section {
    width: 100%;
    height: 347.26368vw;
    min-height: 0;
    overflow: hidden;
  }

  /* Text */

  .about-section__intro {
    top: 6.51862%;
    left: 4.47761%;
    width: 67.16418%;
    gap: 6.04726vw;
  }

  .about-section__fest {
    top: 62.966%;
    left: 30.0995%;
    width: 65.17413%;
    gap: 6.04726vw;
  }

  .about-section__intro h2,
  .about-section__fest h2 {
    white-space: normal;
    margin: 0;
    font-size: 7.46269vw;
    line-height: 105%;
  }

  .about-section__intro h2 span,
  .about-section__fest h2 span {
    display: block;
    width: fit-content;
  }

  .about-section p {
    width: 100%;
    font-size: 3.23383vw;
    line-height: 130%;
    letter-spacing: -1%;
  }

  /* Camera */

  .about-section__camera {
    position: absolute;
    top: 28.27865%;
    left: -19.4602%;
    width: 65.0398vw;
    height: 65.0398vw;
    z-index: 1;
  }

  .about-section__camera img {
    width: 100%;
    height: 100%;
    display: block;
  }

  /* Cassette */

  .about-section__cassette {
    position: absolute;
    top: 46.9914%;
    left: 68.40796%;
    width: 52.45522vw;
    height: 56.85572vw;
    z-index: 1;
  }

  .about-section__cassette img {
    width: 100%;
    height: 100%;
    display: block;
  }

  /* Keyboard */

  .about-section__keyboard {
    position: absolute;
    right: 0%;
    bottom: 0%;
    width: 55.47263vw;
    height: 32.58706vw;
    z-index: 1;
  }

  .register-btn-2 {
    position: absolute;
    width: 45.56%;
    height: 29.17%;
    left: 8.92%;
    top: 31.92%;
    transform: translate(6%, -13%) rotate(-6.44deg);
    transform-origin: center;
    display: block;
    cursor: pointer;
    z-index: 3;
  }

  .about-section__keyboard > img {
    width: 100%;
    height: 100%;
    display: block;
  }
}

/*Photos*/
@media (max-width: 786px) {
  /* Photos */
  .about-gallery__photo,
  .about-gallery__photo:hover {
    position: absolute;
    width: 30.51138%;
    height: 8.19639%;
    visibility: visible;
    opacity: 1;
  }

  .about-gallery__photo img {
    width: 100%;
    height: 100%;
    display: block;
  }

  .about-gallery__photo {
    transition:
      width 0.35s ease,
      height 0.35s ease;
  }

  .about-gallery__photo:hover {
    width: 34.37vw;
    height: 32.27vw;
    z-index: 20;
  }

  .about-gallery__photo--1 {
    top: -6.51862%;
    left: 62.68657%;
    transform: rotate(-11.65deg);
    z-index: 14;
  }

  .about-gallery__photo--2 {
    top: 1.00287%;
    left: 74.62687%;
    transform: rotate(8.24deg);
    z-index: 13;
  }

  .about-gallery__photo--3 {
    top: 9.24069%;
    left: 82.08955%;
    transform: rotate(-6deg);
    z-index: 12;
  }

  .about-gallery__photo--4 {
    top: 18.33811%;
    left: 84.0796%;
    transform: rotate(6deg);
    z-index: 11;
  }

  .about-gallery__photo--5 {
    top: 26.14542%;
    left: 76.61692%;
    transform: rotate(-12deg);
    z-index: 10;
  }

  .about-gallery__photo--6 {
    top: 33.66762%;
    left: 62.93532%;
    transform: rotate(8.27deg);
    z-index: 9;
  }

  .about-gallery__photo--7 {
    top: 40.97421%;
    left: 47.01493%;
    transform: rotate(-4.5deg);
    z-index: 8;
  }

  .about-gallery__photo--8 {
    top: 45.84527%;
    left: 19.65174%;
    transform: rotate(15.43deg);
    z-index: 7;
  }

  .about-gallery__photo--9 {
    top: 52.07736%;
    left: 1.74129%;
    transform: rotate(-4.63deg);
    z-index: 6;
  }

  .about-gallery__photo--10 {
    top: 59.59885%;
    left: -12.18905%;
    transform: rotate(7deg);
    z-index: 5;
  }

  .about-gallery__photo--11 {
    top: 67.40831%;
    left: -19.22189%;
    transform: rotate(-16.37deg);
    z-index: 4;
  }

  .about-gallery__photo--12 {
    top: 75.67049%;
    left: -17.88806%;
    transform: rotate(18.38deg);
    z-index: 3;
  }

  .about-gallery__photo--13 {
    display: block;
    top: 84.97206%;
    left: -7.68358%;
    transform: rotate(6.7deg);
    z-index: 2;
  }

  .about-gallery__photo--14 {
    display: block;
    top: 91.65115%;
    left: 2.46766%;
    transform: rotate(-13.09deg);
    z-index: 1;
  }
}

@media (max-width: 402px) {
  .about-section {
    width: 100%;
    height: 347.26368vw;
  }
}

/* Santosh start */


/* Santosh start */

/* Competition page */
.competition-page{
  background-color: #0F0F0F;
  margin: 3rem 3rem;
}

.all-matter-part{
  margin-left: 0rem;
  margin-right: 0rem;
  margin-top: 10rem;
  margin-bottom: 5rem;
  gap: 6rem;
}

.competition-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 3.2rem;
}

.competitions-heading {
    margin: 0;

    font-family: "Poltawski Nowy";
    font-style: italic;
    font-weight: 700;
    font-size: 3rem;
    line-height: 105%;
    letter-spacing: 0%;

    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;
}

.heading-main-text{
  flex: 1;
}

.heading-main-text,
.heading-city {
    background: linear-gradient(120deg, #F27949 0%, #A33A11 100%);

    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.city-select {
    display: flex;
    align-items: center;
    gap: 0;
    width: max-content;

    flex-shrink: 0;
    white-space: nowrap;
}

.heading-location {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: max-content;
    color: white;
    -webkit-text-fill-color: white;
}

.select-location-text{
  font-family: "Hepta Slab";
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 105%;
  letter-spacing: 0%;
  white-space: nowrap;
  color: white;
  -webkit-text-fill-color: white;
  cursor: pointer;
}

.city-button {
    height: 1.5rem;
    width: 1.5rem;
    padding: 0;
    margin: 0;
    background: transparent;
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.city-dropdown {
    position: relative;
    z-index: 101;
}

.city-dropdown-menu {
    position: absolute;
    top: 2.2rem;
    right: 0;

    width: 15rem;
    height: auto;
    min-height: 3.5rem;

    display: none;
    flex-direction: column;

    background: #161616;

    border: 1px solid #7F7F7F;
    border-radius: .75rem;

    padding: .5rem;

    box-sizing: border-box;

    z-index: 100;
}

.city-dropdown-menu.show {
    display: flex;
}

.city-dropdown-menu.show {
    display: flex;
}


/* SEARCH */

.city-search {
    width: 100%;
    height: 2.5rem;
    min-height: 2.5rem;

    display: flex;
    align-items: center;

    gap: .5rem;

    padding: 0 .75rem;

    box-sizing: border-box;

    background: #000000;

    border-radius: .5rem;

    margin-bottom: .5rem;

    color: #FFFFFF;

    flex-shrink: 0;
}

.city-search svg {
    width: 1rem;
    height: 1rem;

    flex-shrink: 0;

    color: #FFFFFF;
}

.city-search input {
    width: 100%;
    height: 100%;
    min-width: 0;

    border: none;
    outline: none;

    background: transparent;

    color: #FFFFFF;

    font-family: "Hepta Slab";
    font-size: .75rem;

    display: block;
}

.city-search input::placeholder {
    color: #7F7F7F;
}

/* CITY LIST */

.city-options-list {
    width: 100%;
    max-height: 14rem;

    overflow-y: auto;

    display: flex;
    flex-direction: column;

    gap: .15rem;

    flex-shrink: 0;
}


/* CITY */

.city-option {
    width: 100%;

    padding: .65rem .75rem;

    background: transparent;

    border: none;
    border-radius: .4rem;

    color: white;

    text-align: left;

    font-family: "Hepta Slab";
    font-size: .75rem;

    cursor: pointer;
}

.city-option:hover {
    background: #2A2A2A;
}

/* Filters Tab */
.mobile-filter-bar{
  display: none;
}

.mobile-filter-panel {
    display: none;
}

.competitions-and-filters-bar{
  width: 100%;
  height: 3.8rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  opacity: 1;
  border-radius: 0.75rem;
  padding: 0.65rem;
  background-color: #000000;
  gap: 0.65rem;
  margin-top: 5rem;
  margin-bottom: 3rem;
}

.filter-button{
  font-family: "Hepta Slab";
  height: 60%;
  opacity: 1;
  border-radius: 0.4rem;
  padding: 0.65rem;
  border-width: 1px;
  background: transparent;
  color: white;
  border: 1px solid transparent;
  margin-right: 0.5rem;
}

.filter-button:hover {
  color: rgba(255, 255, 255, 0.5);
}

.filter-button.active-filter {
  background-color: #2A2A2A;
  border: 1px solid #7F7F7F;
}
.filter-button.active-filter:hover {
    background-color: transparent;
    color: white;
}

.filter-button.active-filter:hover {
    background-color: transparent;
    color: white;
}

.names-of-competitions-and-filters {
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
  white-space: nowrap;
}

.names-of-competitions-and-filters
.category-filter:nth-of-type(n+6) {
    display: none;
}

.names-of-competitions-and-filters
.category-filter.selected-visible-filter {
    display: block !important;
}

.filter-divider {
  margin: 0px 5px 0px 5px;
}

.all-filter-button {
    font-family: "Hepta Slab";
    height: 60%;
    padding: 0.65rem;
    border-radius: 0.4rem;
    background: transparent;
    color: white;
    border: 1px solid transparent;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;

    margin-left: auto;

    flex-shrink: 0;
    white-space: nowrap;
    cursor: pointer;
}

.all-filter-button:hover {
    color: rgba(255, 255, 255, 0.5);
}

.all-filter-button {
    font-family: "Hepta Slab";
    height: 60%;
    padding: 0.65rem;
    border-radius: 0.4rem;
    background: transparent;
    color: white;
    border: 1px solid transparent;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;

    margin-left: auto;

    flex-shrink: 0;
    white-space: nowrap;
    cursor: pointer;
}

.all-filter-button:hover {
    color: rgba(255, 255, 255, 0.5);
}

.clear-filter{
  height: 50%;
  display: flex;
  align-items: center;
}

.clear-filter-button {
  display: flex;
  align-items: center;
  color: #da4c4c;
  background-color: transparent;
  border: 1px solid transparent;
  cursor: pointer;
}

.clear-filter-button:active {
  background-color: #2a2a2a;
  border: 1px solid #7f7f7f;
  border-radius: 5px;
}

.wrong-symbol {
  margin-bottom: 1px;
}

.mobile-search-wrapper {
    position: relative;
    flex: 1;
    min-width: 0;
}

.mobile-search-wrapper .mobile-search {
    width: 100%;
    box-sizing: border-box;
}

.search-recommendations {
    position: absolute;

    top: calc(100% + 0.4rem);
    left: 0;
    width: 100%;

    background: #161616;
    border: 1px solid #7F7F7F;
    border-radius: 0.75rem;

    overflow: hidden;

    display: none;

    z-index: 100;
}

.search-recommendations.show {
    display: block;
}

.search-recommendation {
    width: 100%;

    padding: 0.7rem 1rem;

    background: transparent;
    border: none;

    color: white;

    text-align: left;

    font-family: "Hepta Slab";
    font-size: 0.8rem;

    cursor: pointer;
}

.search-recommendation span {
    display: block;
}

.search-recommendation small {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.65rem;
    color: #A7A7A7;
}

.search-recommendation:hover {
    background: #2A2A2A;
}

/* =========================
   FILTER PANEL
   ========================= */

.mobile-filter-panel {
    display: none;

    position: absolute;

    width: 22rem;
    max-height: 70vh;

    overflow-y: auto;

    padding: 1.5rem;

    box-sizing: border-box;

    background: #161616;

    border: 1px solid #7F7F7F;
    border-radius: 0.75rem;

    z-index: 1000;
}

.mobile-filter-panel.show {
    display: block;
}


/* =========================
   FILTER PANEL HEADER
   ========================= */

.mobile-filter-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 1.5rem;

    color: white;

    font-family: "Hepta Slab";
    font-size: 1.1rem;
    font-weight: 600;
}

.mobile-filter-close {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 1.75rem;
    height: 1.75rem;

    padding: 0;

    background: transparent;

    border: none;

    color: white;

    font-size: 1.2rem;

    cursor: pointer;
}


/* =========================
   FILTER SECTIONS
   ========================= */

.mobile-filter-section {
    margin-bottom: 1.5rem;
}

.mobile-filter-section:last-of-type {
    margin-bottom: 0;
}

.mobile-filter-section-title {
    margin: 0 0 0.7rem;

    color: white;

    font-family: "Hepta Slab";
    font-size: 0.9rem;
    font-weight: 600;
}


/* =========================
   FILTER OPTIONS
   ========================= */

.mobile-filter-options {
    display: flex;
    flex-wrap: wrap;

    gap: 0.5rem;
}

.mobile-filter-option {
    padding: 0.5rem 0.75rem;

    background: transparent;

    border: 1px solid #7F7F7F;
    border-radius: 0.4rem;

    color: white;

    font-family: "Hepta Slab";
    font-size: 0.75rem;

    cursor: pointer;
}

.mobile-filter-option:hover {
    background: #2A2A2A;
}

.mobile-filter-option.active-filter {
    background: #2A2A2A;
    border-color: #FFFFFF;
}


/* =========================
   CLEAR FILTER
   ========================= */

.mobile-filter-clear {
    width: 100%;

    margin-top: 0.5rem;

    padding: 0.6rem 0.75rem;

    background: transparent;

    border: 1px solid #7F7F7F;
    border-radius: 0.4rem;

    color: #DA4C4C;

    font-family: "Hepta Slab";
    font-size: 0.8rem;

    cursor: pointer;
}

.mobile-filter-clear:hover {
    background: #2A2A2A;
}

/* Competition Cards */
.cards-grid {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.comp-card {
  width: 23%;
  height: 29rem;
  opacity: 1;
  border-radius: 0.65rem;
  background: linear-gradient(163.35deg, #b9b9b9 4.31%, #5d5956 96.32%);
  background-clip: padding-box;
  border: 2px solid transparent;
  padding-left: 1rem;
  padding-top: 0.7rem;
  padding-right: 1rem;
  padding-bottom: 0.9rem;
  overflow: hidden;
  box-sizing: border-box;
  cursor: pointer;
}

.card-media {
  position: relative;
  overflow: hidden;
  border-radius: 0.35rem;
}

.card-media::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 0.35rem;
  background: linear-gradient(
    145.5deg,
    rgba(0, 0, 0, 0.25),
    rgba(167, 167, 167, 0.25)
  );
  pointer-events: none;
}

.comp-img {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 15.5rem;
  opacity: 1;

  border: 1.75px solid transparent;
  border-radius: 0.35rem;

  background:
    linear-gradient(#161616, #161616) padding-box,
    linear-gradient(145.5deg, #000000 1.56%, #a7a7a7 99.21%) border-box;
}

.badge {
  position: absolute;
  width: 2.75rem;
  height: 2rem;
  opacity: 1;
  border-width: 1px;
  top: 0.65rem;
  right: 0.5rem;
  border-radius: 5px;
  padding: 0.5rem;
  font-family: "Hepta Slab";
  font-weight: 600;
  font-style: "SemiBold";
  font-size: 0.8rem;
  line-height: 105%;
  letter-spacing: -1%;
  text-align: center;
  vertical-align: middle;
  width: 3rem;
  height: 2rem;
  opacity: 1;
  background-color: #2a2a2a;
  border: 1px solid #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.card-separator {
  height: 1px;
  background: #000;
  margin-top: 0.8rem;
  width: 300%;
  margin-left: -100%;
}

.card-body {
  margin-top: 0.8rem;
}

.card-body-matter {
  position: relative;
  width: 100%;
  height: 6.5rem;
  opacity: 1;
  border-radius: 5px;
  padding-top: 0.35rem;
  padding-right: 0.5rem;
  padding-bottom: 0.35rem;
  padding-left: 0.5rem;
  border: 1.75px solid transparent;
  background:
    linear-gradient(#161616, #161616) padding-box,
    linear-gradient(145deg, #000000 1.56%, #a7a7a7 99.21%) border-box;
}

.card-title {
  height: 1.3rem;
  margin-top: 0rem;
  margin-bottom: 0.35rem;
  font-family: "Poltawski Nowy";
  font-weight: 500;
  font-style: Italic;
  font-size: 1.2rem;
  line-height: 105%;
  letter-spacing: -1%;
  vertical-align: middle;
  color: #ffffff;
}

.card-event-type {
  margin-top: 0;
  margin-bottom: 0;
  height: 0.75rem;
  font-family: "Hepta Slab";
  font-weight: 500;
  font-style: Medium;
  font-size: 0.6rem;
  line-height: 105%;
  letter-spacing: -1%;
  vertical-align: middle;
  color: rgba(255, 255, 255, 0.7);
}

.date-and-place {
  margin-top: 0.5rem;
}

.date {
  margin-bottom: 0.35rem;
  height: 0.75rem;
  opacity: 1;
}

.place {
  line-height: 0.8;
  display: flex;
  gap: 0.2rem;
}

.detail-value{
  font-family: "Hepta Slab";
  font-weight: 500;
  font-style: Medium;
  font-size: 0.6rem;
  letter-spacing: -1%;
  vertical-align: middle;
  line-height: 1.5;
}

.card-actions {
  display: flex;
  justify-content: end;
  align-items: center;
}

.card-actions .register-btn {
  width: 100%;
  height: 3rem;
  margin-top: 0.65rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  border-width: 1px;
  opacity: 1;
  border-radius: 1.5rem;
  background-color: #161616;
  border: 1px solid transparent;
  background:
    linear-gradient(#161616, #161616) padding-box,
    linear-gradient(
        145.5deg,
        #000000 1.56%,
        #A7A7A7 99.21%
    ) border-box;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  color: white;
  position: relative;
  /* Override the hero keyboard's rotate(-6.44deg) transform */
  transform: none;
  transform-origin: unset;
  top: unset;
  left: unset;
}

.card-actions .register-btn:hover {
  color: rgba(255, 255, 255, 0.5);
}

.card-actions .register-btn.clicked .button-text {
  opacity: 0;
}

.card-actions .register-btn.clicked .reg-circle {
  transform: translateX(235%);
}

.card-actions .register-btn.clicked .reg-square {
  transform: rotate(90deg);
}

.register-link {
  text-decoration: none;
}

.button-text{
  font-family: "Hepta Slab";
  font-weight: 600;
  font-style: SemiBold;
  font-size: 1rem;
  line-height: 105%;
  letter-spacing: -1%;
  vertical-align: middle;
  opacity: 1;
  transition: opacity 0.3s ease;
}

.reg-circle {
  width: 2.25rem;
  height: 2.25rem;
  top: 0.4rem;
  left: 0.4rem;
  opacity: 1;

  border: 1px solid transparent;
  border-radius: 50%;

  background:
    linear-gradient(
      261.52deg,
      #F27949 7.08%,
      #A33A11 86.79%
    ) padding-box,
    linear-gradient(
      261.52deg,
      #A33A11 7.08%,
      #F27949 86.79%
    ) border-box;

  display: flex;
  justify-content: center;
  align-items: center;
  transition: transform 0.4s ease;
}


.reg-square {
  width: 1rem;
  height: 1rem;
  top: 1rem;
  left: 1rem;
  opacity: 1;

  border: 1px solid transparent;
  border-radius: 3px;

  background:
    linear-gradient(#161616, #161616) padding-box,
    linear-gradient(
      261.52deg,
        #A33A11 7.08%,
        #F27949 86.79%
      ) border-box;

  transition: transform 0.4s ease;
}

@media (min-width: 769px) and (max-width: 1024px) {

    .all-matter-part {
      margin: 3rem 0rem;
    }

    #competition-section {
      margin-left: 1.5rem;
      margin-right: 1.5rem;
      box-sizing: border-box;
    }


    /* =========================
       HEADER
       ========================= */

    .competition-header {
        display: block;

        width: 100%;
        height: auto;
    }

    .competitions-heading {
        display: flex;
        align-items: center;
        justify-content: space-between;

        width: 100%;
        margin: 0;

        gap: 2rem;

        font-size: 2.5rem;
        line-height: 105%;
    }

    .heading-main-text {
        flex: 1;
        min-width: 0;
    }

    .city-select {
        display: flex;
        align-items: center;

        width: max-content;
        flex-shrink: 0;

        white-space: nowrap;
    }

    .heading-location {
        display: flex;
        align-items: center;

        gap: 0.5rem;

        white-space: nowrap;
    }

    .select-location-text {
        font-size: 1rem;
        white-space: nowrap;
    }


     /* =========================
       FILTER BAR
       ========================= */

    .competitions-and-filters-bar {
        width: 100%;
        height: 3.8rem;

        display: flex;
        align-items: center;

        margin-top: 3rem;
        margin-bottom: 2rem;

        padding: 0.65rem;

        box-sizing: border-box;

        background-color: #000000;

        border-radius: 0.75rem;

        overflow: hidden;
        position: relative;
    }


    /* =========================
       FILTER CONTENT
       ========================= */

    .names-of-competitions-and-filters {
        display: flex;
        align-items: center;

        width: 100%;
        min-width: 0;

        white-space: nowrap;

        overflow: hidden;
    }


    /* =========================
       CATEGORIES
       ========================= */

    .names-of-competitions-and-filters
    .category-filter:nth-of-type(n+4) {
        display: none;
    }


    /* =========================
       DIVIDER
       ========================= */

    .filter-divider {
        display: flex !important;
        align-items: center;

        flex-shrink: 0;

        margin: 0 0.5rem;
    }


    /* =========================
       UPCOMING
       ========================= */

    .names-of-competitions-and-filters
    .filter-button[data-filter="upcoming"] {
        display: block !important;

        flex-shrink: 0;

        white-space: nowrap;
    }


    /* =========================
       NEXT MONTH
       ========================= */

    .names-of-competitions-and-filters
    .filter-button[data-filter="next-month"] {
      display: block !important;
      flex-shrink: 0;
      white-space: nowrap;
    }


    /* =========================
       ALL FILTERS
       ========================= */

    .names-of-competitions-and-filters
    .all-filter-button {
        display: flex !important;

        align-items: center;
        justify-content: center;

        gap: 0.35rem;

        margin-left: auto;

        flex-shrink: 0;

        white-space: nowrap;

        color: white;

        cursor: pointer;
    }


    /* =========================
       HIDE DELETE FILTER
       ========================= */

    .clear-filter {
        display: none !important;
    }

    /* =========================
       CARDS
       ========================= */

    .cards-grid {
        gap: 1rem;
    }

    .comp-card {
        width: calc(33.333% - 0.67rem);
    }


      .mobile-filter-panel {
        display: none;

        position: fixed;

        width: 18rem;
        max-height: 70vh;

        overflow-y: auto;

        background: #161616;

        border: 1px solid #7F7F7F;
        border-radius: 0.75rem;

        padding: 1.25rem;

        box-sizing: border-box;

        z-index: 9999;
      }

    .mobile-filter-panel.show {
        display: block !important;
    }

    .mobile-filter-header {
        display: flex;
        align-items: center;
        justify-content: space-between;

        margin-bottom: 1rem;

        font-size: 1rem;
        color: white;
    }

    .mobile-filter-close {
        background: transparent;
        border: none;

        color: white;
        font-size: 1rem;

        cursor: pointer;
    }

    .mobile-filter-section {
        margin-bottom: 1rem;
    }

    .mobile-filter-section-title {
        margin: 0 0 0.6rem;

        color: white;
        font-size: 0.9rem;
        font-weight: 600;
    }

    .mobile-filter-options {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .mobile-filter-option {
        padding: 0.45rem 0.75rem;

        background: #252525;
        border: 1px solid #555;
        border-radius: 0.35rem;

        color: white;
        font-size: 0.75rem;

        cursor: pointer;
    }

    .mobile-filter-option:hover {
        border-color: white;
    }

    .mobile-filter-clear {
        width: 100%;

        padding: 0.6rem;

        background: transparent;
        border: 1px solid #777;
        border-radius: 0.4rem;

        color: white;
        font-size: 0.8rem;

        cursor: pointer;
    }

    .category-filter.selected-visible-filter {
      display: block !important;
    }
}

@media (max-width: 768px) {

    .all-matter-part {
      margin: 3rem 0rem;
    }

    #competition-section {
      margin-left: 1.5rem;
      margin-right: 1.5rem;
      box-sizing: border-box;
    }

    /* ================= MOBILE HEADER ================= */

    .competition-header {
        display: block;
        width: 100%;
        height: auto;
    }

    .competitions-heading {
        width: 100%;
        margin: 0;

        display: flex;
        flex-direction: column;

        font-size: 1.6rem;
        line-height: 105%;
    }


    /* ================= HEADING ================= */

    .heading-main-text {
        display: block;
        width: 100%;
    }


    /* ================= LOCATION ================= */

    .city-select {
        display: flex;
        align-items: center;
        align-self: flex-end;

        width: max-content;

        margin-top: 0.35rem;

        white-space: nowrap;
    }

    .heading-location {
        display: flex;
        align-items: center;

        gap: 0.3rem;

        white-space: nowrap;
    }

    .select-location-text {
        font-size: 0.7rem;
        white-space: nowrap;
    }

    .city-button {
        padding: 0;
        margin: 0;
        cursor:pointer;
    }


    /* ================= OLD FILTER BAR ================= */

    .competitions-and-filters-bar {
        display: none;
    }


    /* ================= MOBILE SEARCH + FILTER ================= */

    .mobile-filter-bar {
        display: flex;
        align-items: center;

        width: 100%;

        gap: 0.6rem;

        margin-top: 2rem;
        margin-bottom: 2rem;

        position: relative;
    }


    /* ================= SEARCH ================= */

    .mobile-search {
        height: 3.5rem;

        flex: 1;
        min-width: 0;

        display: flex;
        align-items: center;

        background: #000000;

        border-radius: 2rem;

        padding: 0 1rem;

        gap: 0.75rem;
    }

    .mobile-search svg {
        width: 1.25rem;
        height: 1.25rem;

        color: white;

        flex-shrink: 0;
    }

    .mobile-search input {
        width: 100%;
        min-width: 0;

        border: none;
        outline: none;

        background: transparent;

        color: white;

        font-family: "Hepta Slab";
        font-size: 1rem;
    }

    .mobile-search input::placeholder {
        color: #7F7F7F;
    }


    /* ================= FILTER BUTTON ================= */

    .mobile-filter-button {
        height: 3.5rem;

        padding: 0 1.5rem;

        display: flex;
        align-items: center;
        justify-content: center;

        gap: 0.75rem;

        background: #000000;

        border: none;

        border-radius: 2rem;

        color: white;

        font-family: "Hepta Slab";
        font-size: 1rem;

        cursor: pointer;

        flex-shrink: 0;
    }

    .mobile-filter-button svg {
        width: 1.25rem;
        height: 1.25rem;
    }


    /* ================= CARDS ================= */

    .cards-grid {
        display: flex;

        flex-direction: row;

        flex-wrap: nowrap;

        gap: 1rem;

        overflow-x: auto;
    }

    .comp-card {
        flex: 0 0 60%;

        width: 60%;

        height: auto;

        min-height: 29rem;
    }

    .comp-img {
        height: 15rem;
    }


    /* ================= MOBILE FILTER PANEL ================= */

    .mobile-filter-panel {
        display: none;

        position: fixed;

        top: 0;
        right: 0;

        width: min(20rem, 90vw);
        max-height: 70vh;

        overflow-y: auto;

        background: #161616;

        border: 1px solid #7F7F7F;

        border-radius: 0.75rem;

        padding: 1.25rem;

        box-sizing: border-box;

        z-index: 9999;
    }

    .mobile-filter-panel.show {
        display: block !important;
    }

    /* ================= FILTER HEADER ================= */

    .mobile-filter-header {
        display: flex;
        align-items: center;
        justify-content: space-between;

        margin-bottom: 1.5rem;

        color: white;

        font-family: "Hepta Slab";

        font-size: 1.1rem;

        font-weight: 600;
    }

    .mobile-filter-close {
        border: none;

        background: transparent;

        color: white;

        font-size: 1.2rem;

        cursor: pointer;
    }


    /* ================= FILTER SECTIONS ================= */

    .mobile-filter-section {
        margin-bottom: 1.5rem;
    }

    .mobile-filter-section-title {
        margin: 0 0 0.75rem;

        color: #A7A7A7;

        font-family: "Hepta Slab";

        font-size: 0.8rem;
    }


    /* ================= FILTER OPTIONS ================= */

    .mobile-filter-options {
        display: flex;

        flex-wrap: wrap;

        gap: 0.5rem;
    }

    .mobile-filter-option {
        padding: 0.6rem 0.9rem;

        border: 1px solid #7F7F7F;

        border-radius: 0.5rem;

        background: transparent;

        color: white;

        font-family: "Hepta Slab";

        font-size: 0.75rem;

        cursor: pointer;
    }

    .mobile-filter-option.active-filter {
        background: #2A2A2A;

        border-color: #FFFFFF;
    }


    /* ================= CLEAR FILTER ================= */

    .mobile-filter-clear {
        width: 100%;

        padding: 0.75rem;

        border: 1px solid #7F7F7F;

        border-radius: 0.5rem;

        background: transparent;

        color: #DA4C4C;

        font-family: "Hepta Slab";

        font-size: 0.8rem;

        cursor: pointer;
    }

}

@media (max-width: 480px){
  .comp-card{
    flex: 0 0 75%;
    width: 75%;
    height: auto;
    min-height: 29rem;
  }
}

@media (min-width: 1025px) {

    .mobile-filter-panel {
        position: fixed;

        width: 20rem;
        max-height: 70vh;

        z-index: 9999;
    }

}