/* Background Mobile (Portrait) */
body {
  background-image: url('https://cdn.sifestunsri.com/bgHP.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

/* background Desktop */
@media (min-width: 1024px) {
  body {
    background-image: url('https://cdn.sifestunsri.com/bg.jpg');
  }
}

/*CUSTOM FONTS LOCAL*/

@font-face {
  font-family: 'Coolvetica';
  src: url('fonts/coolvetica/Coolvetica Rg.otf') format('opentype'),
       local('Coolvetica'), local('Coolvetica Regular'), local('Coolvetica-Regular');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'EmpherianDEMO';
  src: url('fonts/empherian/EmpherianDEMO.otf') format('opentype'),
       url('fonts/empherian/EmpherianDEMO.ttf') format('truetype'),
       local('EmpherianDEMO'), local('Empherian DEMO'), local('Empherian-DEMO');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Empherian';
  src: url('fonts/empherian/EmpherianDEMO.otf') format('opentype'),
       url('fonts/empherian/EmpherianDEMO.ttf') format('truetype'),
       local('Empherian'), local('Empherian Regular'), local('Empherian-Regular');
  font-weight: normal;
  font-style: normal;
}

/*FONT SHORTHAND CLASSES*/

.font-cinzel          { font-family: 'EmpherianDEMO', 'Empherian DEMO', cursive; }
.font-cinzel-deco     { font-family: 'EmpherianDEMO', 'Empherian DEMO', cursive; }
.font-playfair        { font-family: 'Playfair Display', serif; }
.font-playfair-bold   { font-family: 'Playfair Display', serif; font-weight: 700; }
.font-coolvetica      { font-family: 'Coolvetica', sans-serif; }
.font-empherian-demo  { font-family: 'EmpherianDEMO', 'Empherian DEMO', cursive; }
.font-empherian       { font-family: 'Empherian', cursive; }

/*MARQUEE ANIMATIONS*/

@keyframes scrollLeft  { from { transform: translateX(0);    } to { transform: translateX(-50%); } }
@keyframes scrollRight { from { transform: translateX(-50%); } to { transform: translateX(0);    } }

.marquee-left  { animation: scrollLeft  var(--dur, 30s) linear infinite; }
.marquee-right { animation: scrollRight var(--dur, 25s) linear infinite; }

/*BAND / FIGMA DESIGN — MOBILE*/

.band-figma-blue {
  height: 160px;
  transform: translateY(calc(-140% - 60px)) rotate(-1.5deg);
}
.band-figma-red {
  height: 160px;
  transform: translateY(calc(-140% + 35px)) rotate(1.5deg);
}
.text-figma       { font-size: 40px; }
.divider-figma    { height: 60px; }
.logo-si-figma    { font-size: 40px; }
.logo-fest-figma  { font-size: 40px; }
.subtitle-figma   { font-size: 18px; }
.countdown-figma  { margin-top: 230px; }

/*COUNTDOWN GRID — MOBILE*/

.countdown-grid-responsive {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 7px !important;
  width: 100% !important;
  max-width: 380px !important;
  padding: 0 4px;
}

/* Kotak masing-masing */
.countdown-grid-responsive > div {
  width: 22vw !important;
  height: 22vw !important;
  max-width: 82px !important;
  max-height: 82px !important;
  flex-shrink: 1 !important;
  border-radius: 10px !important;
}

/* Angka & label di mobile */
.countdown-grid-responsive .num-cd {
  font-size: 1.5rem !important;
  line-height: 1 !important;
  margin-bottom: 2px !important;
}
.countdown-grid-responsive .lbl-cd {
  font-size: 0.5rem !important;
  letter-spacing: 0.05em !important;
}

/*DESKTOP MEDIA QUERY (≥1024px)*/

@media (min-width: 1024px) {
  .band-figma-blue {
    height: 220px;
    transform: translateY(calc(-100% - 85px)) rotate(-1.5deg);
  }
  .band-figma-red {
    height: 220px;
    transform: translateY(calc(-100% + 50px)) rotate(1.5deg);
  }
  .text-figma       { font-size: 72px; }
  .divider-figma    { height: 130px; }
  .logo-si-figma    { font-size: 75px; }
  .logo-fest-figma  { font-size: 70px; }
  .subtitle-figma   { font-size: 26px; }
  .countdown-figma  { margin-top: 360px; }

  /* Countdown grid reset ke ukuran desktop */
  .countdown-grid-responsive {
    flex-wrap: nowrap !important;
    gap: 24px !important;
    max-width: none !important;
    padding: 0;
  }
  .countdown-grid-responsive > div {
    width: 130px !important;
    height: 130px !important;
    max-width: 130px !important;
    max-height: 130px !important;
    flex-shrink: 0 !important;
    border-radius: 16px !important;
  }
  .countdown-grid-responsive .num-cd {
    font-size: 2.75rem !important;
    margin-bottom: 8px !important;
  }
  .countdown-grid-responsive .lbl-cd {
    font-size: 0.75rem !important;
    letter-spacing: 0.18em !important;
  }
}