@import "fontface.css";
@import url('https://fonts.cdnfonts.com/css/bignoodletitling');
@font-face {
    font-family: "Big Noodle";
    src: url("https://db.onlinewebfonts.com/t/7aa3301bb0491568f35981850a41922e.eot");
    src: url("https://db.onlinewebfonts.com/t/7aa3301bb0491568f35981850a41922e.eot?#iefix")format("embedded-opentype"),
    url("https://db.onlinewebfonts.com/t/7aa3301bb0491568f35981850a41922e.woff2")format("woff2"),
    url("https://db.onlinewebfonts.com/t/7aa3301bb0491568f35981850a41922e.woff")format("woff"),
    url("https://db.onlinewebfonts.com/t/7aa3301bb0491568f35981850a41922e.ttf")format("truetype"),
    url("https://db.onlinewebfonts.com/t/7aa3301bb0491568f35981850a41922e.svg#Big Noodle")format("svg");
}

html, body{
/*    background: url(../img/teaser/ramadhan202/bg.jpg) repeat-x center top;*/
    background: #fff;
    background-size: cover;
    color: #FFFFFF;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    line-height: 1.5em;
    margin:0;
    min-height: 100vh;
    padding:0;
  /*	text-align: center;*/
    position: relative;
    z-index: 1;
    overflow-x: hidden; 
    /* max-width: 1920px; */


  /* scroll-behavior: smooth; */
}

ul{
	list-style-type: none;
}
a,a:hover{
	text-decoration:none;
	cursor:pointer;
}
p {
    margin: 0 0 10px;
}
.desktop{
    display: block;
}
.mobile{
    display: none;
}
.header{
	background: url(../images/layout/header.png) no-repeat top center;
	height: 77px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

#container{
	clear: both;
    margin: 0 auto 50px auto;
    text-align: left;
    width: 1200px;
}
img.grayscale{
	-webkit-filter: grayscale(100%);
    filter: grayscale(100%);
}

@media(max-width:1200px){
    /* #container{
        width: 100%;
    } */
}
@media(max-width:768px){
    html, body{
/*        background: url(../img/teaser/ramadhan2022/bgmobile.jpg) repeat-x center top;*/
        background-size: cover;
        /* color: #FFFFFF; */
        font-family: Arial, Helvetica, sans-serif;
        font-size: 11px;
        line-height: 1.5em;
        margin:0;
        height: 0;
        padding:0;
        text-align: center;
        position: relative;
        z-index: 1;
        overflow-x: hidden !important;
       
    }
    .bg-all{
/*        background: url(../img/teaser/ramadhan2022/bgmobile.jpg) repeat-x center top;*/
        background-size: cover;
        width: 100%;
    }
    #container{
        width: auto;
        padding-left: 10px;
        padding-right: 10px;
        margin:0 auto
    }
    .desktop{
        display: none;
    }
    .mobile{
        display: block;
    }
}

/*===================================================================== SECTION 1 ===================================================================*/
.section1 {
  position: relative;
    width: 100%;
    height: auto; 
    overflow: hidden;
}
.section1-content {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  z-index: 2;
}

.ggl-dragonica-section1-logo2 {
    position: absolute;
    max-width: 600px;
    width: 16vw;
    top: 16%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    pointer-events: none;
}

.ggl-dragonica-section1-desc-title1{
    position: absolute;
    max-width: 640px;
    width: 34vw;
    top: 2vw;
    left: 2vw;
    z-index: 6;
    pointer-events: none;
    transition: transform 0.9s cubic-bezier(.22,1,.36,1);
}

/* hover char kiri → title TURUN */
body:has(.char-left-wrapper:hover) .ggl-dragonica-section1-desc-title1{
    transform: translateY(32px);
}

/* body:has(.char-left-wrapper:hover) .ggl-dragonica-section1-desc-title1{
    transform: translateY(36px) scale(1.03);
} */

.char-left-wrapper{
    position: absolute;
    top: 0;
    left: 0;
    max-width: 1160px;
    width: 61vw;
	/* transform: translateZ(100px) !important; */
	z-index: 5;
}

.ggl-dragonica-section1-char-left{
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.ggl-dragonica-section1-char-left_h{
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
}

/* zoom saat hover */
/* .char-left-wrapper:hover .ggl-dragonica-section1-char-left,
.char-left-wrapper:hover .ggl-dragonica-section1-char-left_h{
	 transform: scale(1.08);
    transition: opacity 3.4s ease, transform 3.4s ease; 
} */

/* default */
.ggl-dragonica-section1-char-left_h{
    opacity: 0;
    pointer-events: none;
}

/* hover */
.char-left-wrapper:hover .ggl-dragonica-section1-char-left{
    opacity: 0;
}

.char-left-wrapper:hover .ggl-dragonica-section1-char-left_h{
    opacity: 1;
}


/* cursor biar keliatan clickable */
.section1-wrapper,
.section1-wrapper2{
    cursor: pointer;
}


.ggl-dragonica-section1-desc-coba{
    width: 100%;
    height: 100%;
    object-fit: cover;

    transform: scale(1.05);
    transition: transform 0.8s ease;
}

.fullscreen-overlay.active .ggl-dragonica-section1-desc-coba{
    transform: scale(1);
}


.ggl-dragonica-section1-desc-title2{
    position: absolute;
    max-width: 389px;
    width: 21vw;
    bottom: 9vw;
    right: 2vw;
    z-index: 3;
    pointer-events: none;
    transition: transform 0.9s cubic-bezier(.22,1,.36,1);
}

/* hover char kanan → title NAIK */
body:has(.char-right-wrapper:hover) .ggl-dragonica-section1-desc-title2{
    transform: translateY(-36px);
}
body:has(.char-right-wrapper:hover) .ggl-dragonica-section1-desc-title2{
    transform: translateY(-40px) scale(1.03);
}

.char-right-wrapper{
    position: absolute;
    top: 0;
    right: 0;
    max-width: 1263px;
    width: 66vw;
	z-index: 2;
	transform: translateZ(100px) !important;
}


/* posisi & ukuran sama */
.ggl-dragonica-section1-char-right{
    width: 100%;
    position: absolute;
    top: 0;
    right: 0;
}
.ggl-dragonica-section1-char-right_h{
    position: absolute;
    top: 0;
    right: 0;
    width: 100vw;
}
/* zoom saat hover */
/* .char-right-wrapper:hover .ggl-dragonica-section1-char-right,
.char-right-wrapper:hover .ggl-dragonica-section1-char-right_h{
	 transform: scale(1.08);
    transition: opacity 3.4s ease, transform 3.4s ease;
} */

/* default */
.ggl-dragonica-section1-char-right_h{
    opacity: 0;
    pointer-events: none;
}

/* hover */
.char-right-wrapper:hover .ggl-dragonica-section1-char-right{
    opacity: 0;
}

.char-right-wrapper:hover .ggl-dragonica-section1-char-right_h{
    opacity: 1;
}

/* animasi halus */
.ggl-dragonica-section1-char-right,
.ggl-dragonica-section1-char-right_h{
    transition: opacity 0.3s ease;
}

.ggl-dragonica-section1-shape{
	position: relative;
    width: 100%;
    z-index: 5;
	pointer-events: none;
}
@media (min-width: 1921px) {
  /* .ggl-dragonica-section1-char-left_h {
    position: absolute;
    top: 0;
    left: 0;
    width: 99vw;
  } */
  .ggl-dragonica-section1-char-left {
    width: 59vw;
    position: absolute;
    top: 0;
    left: 0;
  }
  .ggl-dragonica-section1-char-right {
    width: 66vw;
    position: absolute;
    top: 0;
    right: 0;
  }
 /* .ggl-dragonica-section1-char-right_h {
    position: absolute;
    top: 0;
    left: 0;
    width: 99vw;
  } */

}
@media (max-width: 1600px) {
/* .ggl-dragonica-section1-char-left_h {
    position: absolute;
    top: 0;
    left: 0;
    width: 99vw;
} */
}
@media (max-width: 1366px) {
  .ggl-dragonica-section1-char-left_h {
      position: absolute;
      top: 0;
      left: 0;
      width: 97vw;
  }
  .ggl-dragonica-section1-char-right_h {
      position: absolute;
      top: 0;
      right: 0;
      width: 100vw;
  }
}
@media (max-width: 768px) {

  .ggl-dragonica-section1-char-left-mobile{
      max-width: 894px;
      width: 82vw;
  }
   .ggl-dragonica-section1-char-right-mobile{
      position: absolute;
      max-width: 894px;
      width: 107vw;
      right: 0;
  }
  .ggl-dragonica-section1-desc-title1 {
      width: 50%;
      top: 2vw;
  }
  .ggl-dragonica-section1-desc-title2{
      top: 61vh;
      width: 40%;
  }
  .ggl-dragonica-section1-logo2-mobile {
      position: relative;
      width: 50%;
      z-index: 10;
      pointer-events: none;
      padding-top: 32vh;
  }
  
}
/*================================== DRAKOS TOWER ==============================*/
.overlay-page{
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

/* HANYA video di overlay */
.overlay-page > video.ggl-dragonica-section1-video{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* penting */
    z-index: 1;
}

/* SEMUA BACKGROUND FULLSCREEN */
.overlay-page > img,
.overlay-page > video,
.bg {
    pointer-events: none;
}

html.overlay-open,
body.overlay-open{
    overflow: hidden;
    height: 100%;
}

.fullscreen-overlay{
    position: fixed;
    inset: 0;
    background: #000;
    z-index: 99999; /* HARUS PALING TINGGI */
    display: none;
}

.fullscreen-overlay.active{
    display: block;
}

.overlay-scroll{
    height: 100%;
    overflow-y: hidden;
    scroll-snap-type: y mandatory;
    scroll-behavior: smooth;
    overscroll-behavior: contain; /* PENTING: cegah footer keikut */
}

.overlay-page{
    height: 100vh;
    scroll-snap-align: start;
    position: relative; 
}

.overlay-page > img{
    width: 100%;
    height: 100%;
    /* object-fit: cover; */
}

.fullscreen-overlay .close {
    position: fixed; /* 🔥 penting */
    top: 5px;
    right: 2px;
    z-index: 9999; /* super atas */
    cursor: pointer;

    opacity: 0.85;
    transition: opacity 0.3s ease, filter 0.3s ease;
}

.fullscreen-overlay .close {
    pointer-events: auto;
}

.fullscreen-overlay .close:hover {
    opacity: 1; /* menjadi lebih terlihat saat hover */
    filter: brightness(1.2); /* lebih terang */
}

.fullscreen-overlay .close img {
    width: 11vw;
    max-width: 250px;
    display: block;
}

.fullscreen-overlay button,
.fullscreen-overlay a,
.fullscreen-overlay img {
    outline: none !important;
    -webkit-tap-highlight-color: transparent;
}

.section1drakostower-content {
    position: absolute;
    inset: 0; 
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; 
    z-index: 2;
}
.ggl-dragonica-section1-logo {
    max-width: 600px;
    width: 16vw;
    margin-top: -5vw;
}
.ggl-dragonica-section1 {
    position: relative;
    width: 100%;
    text-align: center;
    overflow: hidden;
}

/* Gambar responsif */
.ggl-dragonica-section1-title,
.ggl-dragonica-section1-desc-title {
    width: 45vw;
    max-width: 855px;
    display: block;
    margin: 0 auto;
}

/* Animasi title (atas ke bawah) */
@keyframes slideDown {
    0% {
        opacity: 0;
        transform: translateY(-50px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Animasi desc-title (bawah ke atas) */
@keyframes slideUp {
    0% {
        opacity: 0;
        transform: translateY(50px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Tambahkan class untuk trigger animasi */
.animate-title {
    animation: slideDown 1s ease forwards;
}

.animate-desc-title {
    animation: slideUp 1s ease forwards;
    animation-delay: 0.3s; /* sedikit delay agar muncul setelah title */
}

@media (max-width: 768px) {
  .ggl-dragonica-section1-title, .ggl-dragonica-section1-desc-title {
      width: 100%;
      max-width: 855px;
      display: block;
      margin: 0 auto;
  }
  .ggl-dragonica-section1 {
    position: relative;
    width: 100%;
    text-align: center;
    overflow: hidden;
    padding-top: 42vh;
}
  .fullscreen-overlay,
  .overlay-scroll,
  .overlay-page {
    overflow-x: hidden !important;
    max-width: 100vw;
  }
  .overlay-scroll {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transform: translateZ(0); /* aman */
}

    .fullscreen-overlay .close img {
      width: 27%;
      max-width: 250px;
      display: block;
  }
  .fullscreen-overlay .close {
    position: fixed;
    top: 19px;
    left: 3vw;
    z-index: 9999;
    cursor: pointer;
    opacity: 0.85;
    transition: opacity 0.3s ease, filter 0.3s ease;
}

}
/*================================== section 2 ==============================*/

/* .ggl-dragonica-section1-frame{
    max-width: 1920px;
    width: 100vw;
    position: relative;
    margin-top: -3vw;
    z-index: 1;
} */

.dragonica-diamond {
    position: relative;
    width: min(80vw, 371px);     
    aspect-ratio: 371 / 320;  
    margin: auto;

    transform: translate(27vw, 15vh);
}

/* SEMUA IMAGE */
.dragonica-diamond img {
    width: 15vw;
    max-width: 235px;
    height: auto;
}

/* ATAS - WEAPON */
.btn-weapon {
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* KIRI - BOSS */
.btn-boss {
    position: absolute;
    left: 0%;
    top: 50%;
    transform: translate(-50%, -50%);
}

/* KANAN - ARMOR */
.btn-armor {
    position: absolute;
    right: 0%;
    top: 50%;
    transform: translate(50%, -50%);
}

/* BAWAH - CLICK HERE */
.btn-click {
    position: absolute;
    bottom: 0%;
    left: 50%;
    transform: translate(-50%, 50%);
}


/* SEMUA IMAGE */
.dragonica-diamond img {
    width: 15vw;
    max-width: 235px;
    height: auto;
}

.btn-click {
    cursor: pointer;
    transition: filter 0.3s ease;
}

/* STATE AWAL (HIDDEN) */
.reveal {
    opacity: 0;
    visibility: hidden;
    filter: brightness(0.85);
    transition:
        opacity 0.35s ease,
        filter 0.35s ease,
        visibility 0s linear 0.35s; /* nunggu opacity selesai */
}

/* SAAT MUNCUL */
.reveal.show {
    opacity: 1;
    visibility: visible;
    filter: brightness(1.15) drop-shadow(0 0 10px rgba(255,255,255,0.6));
    transition:
        opacity 0.35s ease,
        filter 0.35s ease,
        visibility 0s;
    animation: glow 1.8s ease-in-out infinite;
}

/* SAAT DI-HIDE */
.reveal.hide {
    opacity: 0;
    visibility: hidden;
    filter: brightness(0.85);
    animation: none;
}

/* GLOW HALUS */
@keyframes glow {
    0%   { filter: brightness(1.1) drop-shadow(0 0 8px rgba(255,255,255,0.45)); }
    50%  { filter: brightness(1.25) drop-shadow(0 0 14px rgba(255,255,255,0.75)); }
    100% { filter: brightness(1.1) drop-shadow(0 0 8px rgba(255,255,255,0.45)); }
}

/* WRAPPER posisi */
.btn-click-wrapper {
    position: absolute;
    bottom: 0%;
    left: 50%;
    transform: translate(-50%, 50%);
    cursor: pointer;
}

/* KEDUA IMAGE NEMPEL */
.btn-click-wrapper img {
    position: absolute;
    /* top: 0;
    left: 0; */
    width: 15vw;
    max-width: 235px;
    height: auto;
    transition: opacity 0.3s ease, filter 0.3s ease;
}

/* DEFAULT */
.btn-click.base {
    opacity: 1;
}

.btn-click.hover {
    opacity: 0;
}

/* HOVER / ACTIVE */
.btn-click-wrapper:hover .base {
    opacity: 0;
}

.btn-click-wrapper:hover .hover {
    opacity: 1;
    filter: brightness(1.4) drop-shadow(0 0 15px rgba(255,255,255,0.7));
}
/* POSISI ARMOR */
.btn-armor-wrapper {
    position: absolute;
    right: 0%;
    top: 50%;
    transform: translate(50%, -50%);
    cursor: pointer;
}

/* KEDUA IMAGE NEMPEL */
.btn-armor-wrapper img {
    position: absolute;
    width: 15vw;
    max-width: 235px;
    height: auto;
    transition: opacity 0.3s ease, filter 0.3s ease;
}

/* DEFAULT */
.btn-armor.base {
    opacity: 1;
}

.btn-armor.hover {
    opacity: 0;
}

/* HOVER & ACTIVE */
.btn-armor-wrapper:hover .base,
.btn-armor-wrapper:active .base {
    opacity: 0;
}

.btn-armor-wrapper:hover .hover,
.btn-armor-wrapper:active .hover {
    opacity: 1;
    filter: brightness(1.3) drop-shadow(0 0 12px rgba(255,255,255,0.7));
}

.btn-weapon-wrapper {
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
}

/* NEMPEL */
.btn-weapon-wrapper img {
    position: absolute;
    width: 15vw;
    max-width: 235px;
    height: auto;
    transition: opacity 0.3s ease, filter 0.3s ease;
}

/* DEFAULT */
.btn-weapon.base {
    opacity: 1;
}

.btn-weapon.hover {
    opacity: 0;
}

/* HOVER / CLICK */
.btn-weapon-wrapper:hover .base,
.btn-weapon-wrapper:active .base {
    opacity: 0;
}

.btn-weapon-wrapper:hover .hover,
.btn-weapon-wrapper:active .hover {
    opacity: 1;
    filter: brightness(1.3) drop-shadow(0 0 12px rgba(255,255,255,0.7));
}
.btn-boss-wrapper {
    position: absolute;
    left: 0%;
    top: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
}

/* KEDUA IMAGE NEMPEL */
.btn-boss-wrapper img {
    position: absolute;
    width: 15vw;
    max-width: 235px;
    height: auto;
    transition: opacity 0.3s ease, filter 0.3s ease;
}

/* DEFAULT */
.btn-boss.base {
    opacity: 1;
}

.btn-boss.hover {
    opacity: 0;
}

/* HOVER / ACTIVE */
.btn-boss-wrapper:hover .base,
.btn-boss-wrapper:active .base {
    opacity: 0;
}

.btn-boss-wrapper:hover .hover,
.btn-boss-wrapper:active .hover {
    opacity: 1;
    filter: brightness(1.3) drop-shadow(0 0 12px rgba(255,255,255,0.7));
}
/* Semua button wrapper: active = tampil hover image */
.btn-armor-wrapper.active .base,
.btn-weapon-wrapper.active .base,
.btn-boss-wrapper.active .base {
    opacity: 0;
}

.btn-armor-wrapper.active .hover,
.btn-weapon-wrapper.active .hover,
.btn-boss-wrapper.active .hover {
    opacity: 1;
    filter: brightness(1.3) drop-shadow(0 0 12px rgba(255,255,255,0.7));
}
/* Semua button wrapper: active = tampil hover image */
.btn-armor-wrapper.active .base,
.btn-weapon-wrapper.active .base,
.btn-boss-wrapper.active .base {
    opacity: 0;
}

.btn-armor-wrapper.active .hover,
.btn-weapon-wrapper.active .hover,
.btn-boss-wrapper.active .hover {
    opacity: 1;
    filter: brightness(1.3) drop-shadow(0 0 12px rgba(255,255,255,0.7));
}

.banner{
    position: relative;
    height: 300px; 
}

.text{
    position: absolute;
    bottom: 0;
    left: 0;
    margin: 10px; 
}
.bg,
.char,
.banner {
    opacity: 0;
    pointer-events: none;
    transition: opacity .5s ease;
}

.bg.active,
.char.active,
.banner.active,
.char-name.active {
    opacity: 1;
    pointer-events: auto;
}

/* ===== BACKGROUND ===== */
.overlay-page > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.char-name {
    position: absolute;
    max-width: 327px;
    width: 18vw;
    bottom: 72vh;
    left: 33%;
    transform: translateX(-50%);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

/* khusus boss */
.char-name-boss {
    transform: translateX(-50%) translateX(-420px); /* geser ke kiri boss */
}

/* BASE CHARACTER */
.char {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    max-width: 80vw;
    height: auto;
}

.char-boss {
    width: 79vw;
    max-width: 1869px;
    position: absolute; 
    bottom: 13vh;
    left: 50%; 
    transform: translateX(-50%);
    animation: float 3s ease-in-out infinite;
    display: block;
}

@keyframes float {
  0%, 100% {
    transform: translateX(-50%) translateY(0);
  }
  50% {
    transform: translateX(-50%) translateY(-15px);
  }
}

.char-weapon{
    max-width: 1109px;
    width: 58vw;
    top: 2vw;
}
.char-armor{
    max-width: 1110px;
    width: 58vw;
    top: 2vw;
}
/* ===== BANNER ===== */
.banner {
  position: absolute;
  bottom: 60px;
  left: 60px;
}

.text {
  font-family: 'BigNoodleTitling', sans-serif;
  font-size: 57px;
  color: rgb(10, 10, 10);
  letter-spacing: 4px;
  white-space: nowrap;
  font-style: italic;
  text-shadow:
    1px 0 0 #000,
    -1px 0 0 #000,
    0 1px 0 #000,
    0 -1px 0 #000;
}

.drop-text span {
  display: inline-block;
  opacity: 0;
  transform: translateY(-60px);
}

.drop-text.animate span {
  animation: drop 0.6s ease-out forwards;
}

@keyframes drop {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 1600px) {
  .char-name {
      position: absolute;
      max-width: 327px;
      width: 18vw;
      bottom: 72vh;
      left: 13%;
      transform: translateX(-50%);
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.3s ease, transform 0.3s ease;
  }
}
@media (max-width: 1442px) {
  .char-name {
      position: absolute;
      max-width: 327px;
      width: 18vw;
      bottom: 72vh;
      left: 14%;
      transform: translateX(-50%);
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.3s ease, transform 0.3s ease;
  }
}
@media (max-width: 1366px) {
  .dragonica-diamond {
      position: relative;
      width: min(80vw, 305px);
      aspect-ratio: 371 / 320;
      margin: auto;
      transform: translate(27vw, 15vh);
  }
  .banner {
    position: absolute;
    bottom: 12px;
    left: 60px;
}
.char-weapon {
    max-width: 1109px;
    width: 54vw;
    top: 2vw;
}
.char-armor {
    max-width: 1110px;
    width: 54vw;
    top: 2vw;
}
}
@media (max-width: 1026px) {
  .dragonica-diamond {
      position: relative;
      width: min(80vw, 231px);
      aspect-ratio: 371 / 320;
      margin: auto;
      transform: translate(27vw, 15vh);
  }
}
@media (max-width: 768px) {
    /* .dragonica-diamond {
        width: 90vw;
        transform: translate(0, -10vh);
    }

    .dragonica-diamond img {
        width: 35%;
    } */
    .char-boss {
        width: 100vw;
        height: 100vh;
        max-width: none;
        object-fit: cover;
        bottom: 0;
    }
    .text {
        position: static;
        margin-top: 31vh;          /* NURUN KE BAWAH */
        white-space: normal;
        font-size: clamp(24px, 6vw, 36px);
    }
    
    .dragonica-diamond {
        width: 36%;
        transform: translate(0, 18vh);
      }
      .btn-click-wrapper img {
        width: 24vw;    
      }
      .btn-armor-wrapper img {
        width: 24vw;    
      }
      .btn-weapon-wrapper img {
        width: 24vw;    
      }
      .btn-boss-wrapper img {
        width: 24vw;    
      }
      .char-name {
        left: 12vw;
        top: 4vw;
        transform: translateX(-50%);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.3s ease, transform 0.3s ease;
    }
    .char-armor {
        content: url(../images/teaser/chapter4/drakostower/page2/char-armormobile.png);
        width: 52vw;
        max-width: none;
        top: 7vh;
    }
    .char-weapon {
        content: url(../images/teaser/chapter4/drakostower/page2/char-weaponmobile.png);
        width: 95vw;
        max-width: none;
        top: 7vh;
    }
}




/*================================== section 3 ==============================*/

/* CONTENT */
.section-content{
    position:absolute;
    inset:0;
    z-index:2;
    
}
/* .spinner img{
  position:absolute;
  left:50%;
  top:92%;
  width:27vw;
  max-width:1600px;
  aspect-ratio:16/9;
  object-fit:cover;
  transform-style:preserve-3d;
  transform:translate(-50%,-50%);
  border-radius:12px;
  cursor:pointer;
  transition:transform .3s, box-shadow .3s;
} */

/* SEMUA ITEM MATI DULU */


.spin-item.active {
  z-index: 10;
}

.carousel{
  perspective:1200px;
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
}

.spinner{
  position:relative;
  /* width:27vw; */
  width: 21vw;
  max-width:1600px;
  aspect-ratio:16/9;
  transform-style:preserve-3d;
  transition:transform 1s ease;
}

.spinner img {
    position: absolute;
    left: 50%;
    top: 92%;
    width: 26vw;
    max-width: 1600px;
    aspect-ratio: 21 / 9;
    object-fit: cover;
    transform-style: preserve-3d;
    transform: translate(-50%, -50%);
    border-radius: 12px;
    cursor: pointer;
    transition: transform .3s, box-shadow .3s;
}

/* .spin-item {
  position: absolute;
  left: 50%;
  top: 70%;
  width: 30vw;
  max-width: 1600px;
  aspect-ratio: 21 / 9;
  transform-style: preserve-3d;
  transform: translate(-50%, -50%);
  transition: filter .4s ease, opacity .4s ease;
} */
.spin-item {
  position: absolute;
  left: 50%;
  top: 70%;
  width: 25vw;
  max-width: 1600px;
  aspect-ratio: 21 / 9;
  transform-style: preserve-3d;
  transform: translate(-50%, -50%);
  transition: filter .4s ease, opacity .4s ease;
}

.spin-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;

  transition: filter .4s ease, opacity .4s ease;
}
.spin-item img {
  transition:
    filter .3s ease,
    opacity .3s ease,
    transform .3s ease;
}

/* hover hanya untuk item depan */
.spin-item.front:hover img {
  filter: brightness(1.3)
          drop-shadow(0 0 8px rgba(255,255,255,0.7));
}

.spin-item img {
  transition: filter .4s ease, opacity .4s ease;
}

.spin-item.front img {
  filter: blur(0px);
  opacity: 1;
}

.spin-item.side img {
  filter:
    blur(1.5px)
    grayscale(100%)
    contrast(1.4)
    brightness(0.9);
  opacity: 0.95;
}

.spin-item.back img {
  filter:
    blur(3px)
    grayscale(100%)
    contrast(1.6)
    brightness(0.75);
  opacity: 0.85;
}
/* .spin-item.front img {
  filter: blur(0px);
  opacity: 1;
}

.spin-item.side img {
  filter:
    blur(1.5px)
    grayscale(100%)
    contrast(2)
    brightness(0.75);
  opacity: 0.9;
}

.spin-item.back img {
  filter:
    blur(3px)
    grayscale(100%)
    contrast(2.4)
    brightness(0.6);
  opacity: 0.8;
} */


.nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  z-index: 10;
  user-select: none;
  max-width: 131px;
  width: 20vw;
  transition: filter 0.2s ease, transform 0.2s ease;
}

.nav:hover{
  filter: brightness(1.3) drop-shadow(0 0 8px rgba(255,255,255,0.8));
}

.nav.prev{ left: 40px; }
.nav.next{ right: 40px; }


.spinner .spin-item:nth-child(1){ transform:translate(-50%,-50%) rotateY(0deg)   translateZ(420px); }
.spinner .spin-item:nth-child(2){ transform:translate(-50%,-50%) rotateY(90deg)  translateZ(420px); }
.spinner .spin-item:nth-child(3){ transform:translate(-50%,-50%) rotateY(180deg) translateZ(420px); }
.spinner .spin-item:nth-child(4){ transform:translate(-50%,-50%) rotateY(270deg) translateZ(420px); }

.ggl-dragonica-section3-title {
    max-width: 467px;
    width: 25vw;
    padding-top: 7vw;
    margin-bottom: -4vw;
}
@media (min-width: 1921px) {
.spin-item {
  position: absolute;
  left: 50%;
  top: 70%;
  width: 19vw;
  max-width: 1600px;
  aspect-ratio: 21 / 9;
  transform-style: preserve-3d;
  transform: translate(-50%, -50%);
  transition: filter .4s ease, opacity .4s ease;
}
}

@media (max-width: 1442px) {
  .ggl-dragonica-section3-title {
      padding-top: 13vw;
      margin-bottom: -4vw;
  }
}
@media (max-width: 1366px) {
    .ggl-dragonica-section3-title {
        padding-top: 7vw;
        margin-bottom: -4vw;
    }
}
@media (max-width: 1026px) {
  .ggl-dragonica-section3-title {
      padding-top: 26vw;
      margin-bottom: -4vw;
  }
}
@media (max-width: 768px) {

  .ggl-dragonica-section3-title {
        width: 56%;
        margin: 0vh auto 18vh;
        display: block;
        z-index: 10;
        position: relative;
    }
  

/* .carousel {
  margin-top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  overflow-x: hidden;
} */

/* MATIKAN 3D */
 .spinner {
  position: relative;
  width: 100%;
  height: 100vh; /* 🔥 BUKAN 100% */
  /* perspective: 1000px;  */
}


.spin-item {
  position: absolute;
  top: 15%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.spin-item img {
  height: 20vh;
  width: auto;
  max-width: 100vw;   
  object-fit: contain;
  display: block;
}




}



/*================================== ARENA LEAGUE ==============================*/

/*================================== SECTION 1 ==============================*/
.ggl-dragonica-section1-arena-desc-title{
    max-width: 678px;
    width: 36vw;
}
.ggl-dragonica-section1-arena-milestone{
    max-width: 1121px ;
    width: 53vw;
    padding-top: 52vh;
  }
@media (max-width: 768px) {
  .ggl-dragonica-section1-arena-desc-title{
    width: 100%;
    padding-top: 30vh;
  }
  .ggl-dragonica-section1-arena-milestone{
    width: 89%;
    padding-top: 1vh;
  }

  .ggl-dragonica-section1-logo {
    max-width: 600px;
    width: 50%;
}

}
/*================================== SECTION 2 ==============================*/
/* Popup utama */
/* Background popup */
.sweet-alert {
    background-color: #FFD84D !important;
    border: 5px solid #000;
    border-radius: 40px !important;
}

/* Judul komik */
.comic-title {
    font-family: 'Impact', 'Comic Sans MS', cursive;
    font-size: 36px;
    color: #FF8C00;
    letter-spacing: 3px;
    text-shadow:
        3px 3px 0 #000,
        -2px -2px 0 #000;
}

/* Tanggal event */
.comic-date {
    display: block;
    margin-top: 10px;
    font-family: 'Comic Sans MS', cursive;
    font-size: 24px;
    color: #D80000;
    font-weight: bold;
    letter-spacing: 2px;
    text-shadow:
        2px 2px 0 #000;
}

/* Tombol OK */
.sweet-alert button {
    border-radius: 20px !important;
    font-weight: bold;
}


/* ==== SPARK & LIGHTNING EFFECT (tanpa background bawaan) ==== */
.ag-sparks {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1; /* di atas bg, di bawah konten */
  pointer-events: none; /* biar gak ganggu klik tombol */
}

.ag-spark, .ag-lightning {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

/* Hilangkan background bawaan */
.ag-sparks:before,
.ag-sparks:after {
  content: none;
}

/* Spark layer */
.ag-spark:before,
.ag-spark:after {
  content: "";
  background-image: url(https://raw.githubusercontent.com/SochavaAG/example-mycode/master/pens/sparks/images/spark.png);
  background-position: 50% 0;
  background-repeat: repeat;
  background-size: cover;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.ag-spark:before {
  animation: an-spark 1800s linear infinite, an-slow-shake 26s linear 13s infinite;
}
.ag-spark:after {
  animation: an-spark 3600s linear infinite, an-slow-shake-revert 26s linear infinite;
}

/* Lightning flashes */
.ag-lightning:before,
.ag-lightning:after {
  content: "";
  opacity: 0;
  position: absolute;
  will-change: transform;
}

.ag-lightning:before {
  width: 272px;
  background-image: url(https://raw.githubusercontent.com/SochavaAG/example-mycode/master/pens/sparks/images/lightning-1.png);
  top: -9.75em;
  left: 50%;
  animation: an-lightning-first 30s linear 3s infinite;
}

.ag-lightning:after {
  width: 254px;
  background-image: url(https://raw.githubusercontent.com/SochavaAG/example-mycode/master/pens/sparks/images/lightning-2.png);
  top: -10.1875em;
  right: -6.1875em;
  animation: an-lightning-second 30s linear 3s infinite;
}

/* Gunakan kembali keyframes aslinya */
@keyframes an-spark {
  0% { background-position-y: 0; opacity: 0; }
  1%,99% { opacity: 1; }
  100% { background-position-y: -3750em; opacity: 0; }
}

@keyframes an-slow-shake {
  0%,50%,100% { transform: translateX(0); }
  25% { transform: translateX(1.25em); }
  75% { transform: translateX(-1.25em); }
}

@keyframes an-slow-shake-revert {
  0%,50%,100% { transform: scale(-1,1) translateX(0); }
  25% { transform: scale(-1,1) translateX(1.25em); }
  75% { transform: scale(-1,1) translateX(-1.25em); }
}

@keyframes an-lightning-first {
  0%,6.75% { height: 0; opacity: 0; }
  6.8% { height: 22.375em; opacity: 1; }
  7.6%,49.9%,51%,100% { opacity: 0; height: 0; }
  50% { height: 22.375em; opacity: 1; }
}

@keyframes an-lightning-second {
  0% { height: 0; opacity: 0; }
  1.66% { height: 23.9375em; opacity: 1; }
  1.7%,2.66%,3.4%,78%,100% { opacity: 0; }
  3.2%,77% { opacity: 1; height: 23.9375em; }
}

.watermark {
    position: absolute;
    top: 50%;
    left: 50%;
     font-size: 14vw;        /* base */
    transform: translate(-50%, -50%) scale(1.25);
    font-weight: 150;
    letter-spacing: 0.08em;
    /* white-space: nowrap; */
    pointer-events: none;
    z-index: 0;
    font-family: 'BigNoodleTitling', sans-serif;
    
    /* TEXT SHINE */
    /* background: linear-gradient(
        120deg,
        rgba(255,255,255,0.05) 30%,
        rgba(255,255,255,0.25) 50%,
        rgba(255,255,255,0.05) 70%
    ); */
    background: linear-gradient(
    120deg,
    rgba(255,255,255,0.015) 35%,
    rgba(255,255,255,0.08) 50%,
    rgba(255,255,255,0.015) 65%
    );

    background-size: 200% auto;
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;

    /* animasi */
    opacity: 0.6;
    animation: 
        fadeIn 2.5s ease-in forwards,
        shine 4s linear infinite;
}
.watermark {
    line-height: 1.2;
    padding: 0.15em 0.2em;

    box-sizing: border-box;
}
/* fade in */
@keyframes fadeIn {
    to {
        opacity: 1;
    }
}

/* shine */
@keyframes shine {
    0% {
        background-position: 0% center;
    }
    100% {
        background-position: 200% center;
    }
}



.ggl-dragonica-section2-arena-title {
    max-width: 674px;
    width: 35vw;
    position: relative;
    top: 16px;  
    opacity: 0;
    transform: translateY(-40px);
    transition: 
        opacity 0.9s ease-out,
        transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.ggl-dragonica-section2-arena-title.show {
    opacity: 1;
    transform: translateY(0);
}

.ggl-dragonica-section2-arena-decs-title {
    position: relative;
    max-width: 1301px;
    width: 37vw;
    padding-top: 2vw;
    opacity: 0;
    transition:
        opacity 0.9s ease-out,
        transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.fade-left {
    transform: translateX(-60px);
}

.fade-right {
    transform: translateX(60px);
}

.fade-left.show,
.fade-right.show {
    opacity: 1;
    transform: translateX(0);
}
.ggl-dragonica-section2-btn-awards {
    padding: 1.1em 2em;
    background: none;
    border: 2px solid #fff;
    font-size: 24px;
    color: #131313;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: all 0.3s;
    border-radius: 12px;
    background-color: #ecd448;
    font-weight: bolder;
    box-shadow: 0 2px 0 2px #000;
    font-family: 'BigNoodleTitling', sans-serif;
    font-style: italic;
}

.ggl-dragonica-section2-btn-awards:before {
    content: "";
    position: absolute;
    width: 100px;
    height: 120%;
    background-color: #ff6700;
    top: 50%;
    transform: skewX(30deg) translate(-150%, -50%);
    transition: all 0.5s;
}

.ggl-dragonica-section2-btn-awards:hover {
    background-color: #4cc9f0;
    color: #fff;
    box-shadow: 0 2px 0 2px #0d3b66;
}

.ggl-dragonica-section2-btn-awards:hover::before {
    transform: skewX(30deg) translate(150%, -50%);
    transition-delay: 0.1s;
}

.ggl-dragonica-section2-btn-awards:active {
    transform: scale(0.9);
}

/* ================= BASE ================= */
.winner-container {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 2vw;
}

/* ================= BASE ================= */
.winner {
  opacity: 0;
  cursor: pointer;
  backface-visibility: hidden;
  transform-style: preserve-3d;
  will-change: transform, opacity;

  transition:
    opacity 0.9s ease,
    transform 0.9s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* ================= SHOW ================= */
.winner.show {
  opacity: 1;
  transform: translate(0, 0) scale(1);
}

/* ================= POSISI AWAL ================= */
/* WINNER 1 – TENGAH & AGAK NAIK */
.winner1 {
  width: 25vw;
  max-width: 472px;
  transform: translateY(-30px) scale(0.85);
  z-index: 2;
  transition-delay: 0.25s;
}

/* WINNER 2 – KIRI */
.winner2 {
  width: 19vw;
  max-width: 395px;
  transform: translateX(-40px) scale(0.75);
  transition-delay: 0s;
}

/* WINNER 3 – KANAN */
.winner3 {
  width: 19vw;
  max-width: 395px;
  transform: translateX(40px) scale(0.75);
  transition-delay: 0.5s;
}

/* ================= PULSE ANIMATION ================= */
@keyframes soft-pulse {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.08); }
  100% { transform: scale(1); }
}

/* ================= HOVER EFFECT ================= */
.winner:hover {
  animation: soft-pulse 0.9s ease-in-out infinite;
}

/* ================= GLOW PER WINNER ================= */
.winner1:hover {
  filter: drop-shadow(0 0 18px rgba(255, 215, 0, 0.95));
}

.winner2:hover {
  filter: drop-shadow(0 0 18px rgba(0, 200, 255, 0.95));
}

.winner3:hover {
  filter: drop-shadow(0 0 18px rgba(255, 80, 80, 0.95));
}
#dailyModal {
  display: none;
  position: relative;
 
  z-index: 5;
  background: rgba(0,0,0,0);
}

.ggl-dragonica-section2-bg-daily {
  max-width: 1552px;
  width: 62vw;
  /* margin-top: 20vh; */
  display: inline-block;
  transform-style: preserve-3d;
  backface-visibility: hidden;
}

#closeArea {
    position: absolute;
    top: 0vh;
    right: 0vw;
    width: 140px;
    height: 112px;
    cursor: pointer;
    z-index: 6;
    background: rgba(255, 0, 0, 0);
}

/* Animasi muncul */
@keyframes cardIn {
  0% { transform: rotateY(0deg) scale(0.3); opacity: 0; }
  50% { transform: rotateY(180deg) scale(1.2); opacity: 1; }
  100% { transform: rotateY(360deg) scale(1); opacity: 1; }
}

/* Animasi keluar */
@keyframes cardOut {
  0% { transform: rotateY(360deg) scale(1); opacity: 1; }
  50% { transform: rotateY(180deg) scale(1.2); opacity: 1; }
  100% { transform: rotateY(0deg) scale(0.3); opacity: 0; }
}

.card-animate.in { animation: cardIn 1s ease-out forwards; }
.card-animate.out { animation: cardOut 1s ease-in forwards; }

.ggl-dragonica-section2-btn-close {
    position: absolute;
    max-width: 124px;
    width: 5.2vw;
    top: 11.4vw;
    right: 22.5vw;
}

.ggl-dragonica-section2-btn-close, .ggl-dragonica-section2-btn-close:hover{
	cursor: pointer;
}
@media (max-width: 1366px) {
  .winner1 {
    width: 21vw;
  }
  .winner2 {
    width: 17vw;
  }
  .winner3 {
    width: 17vw;
  }
  }
@media (max-width: 768px) {
  .ggl-dragonica-section2-arena-title {
    width: 84%;
  }
  .ggl-dragonica-section2-arena-decs-title {  
    width: 100%;
    padding-top: 8vw;
  }
  .winner-container {
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }

  .winner {
    transform: none !important;
    width: 33%;
    max-width: 420px;
  }

  .winner1 {
    max-width: 420px;
  }

  .winner2,
  .winner3 {
    max-width: 380px;
  }
  .winner.show {
    transform: translateY(0) scale(1);
  }
  
  .ggl-dragonica-section2-bg-daily {
    max-width: 1552px;
    width: 99%;
    /* margin-top: 20vh; */
    display: inline-block;
    transform-style: preserve-3d;
    backface-visibility: hidden;
}
}

/*================================== SECTION 3 ==============================*/
.ggl-dragonica-section3-arena-title{
    position: relative;
    max-width: 957px;
    width: 37vw;
    padding-top: 6vw;
}


.image-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0px;
    flex-wrap: wrap;
    margin-top: -43px;
    perspective: 1000px;
}
.image-wrapper {
  display: inline-block;
  opacity: 0;
  transform: scale(0.9);
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.image-btn {
  max-width: 580px;
  width: 26vw;
  border-radius: 10px;
  cursor: pointer;
  filter: brightness(110%);
  will-change: transform;
  display: block;
}
.image-btn {
  transition: transform 0.3s ease, filter 0.3s ease;
  will-change: transform, filter;
}


/* Animasi scroll */
@keyframes flipIn {
  0% { transform: rotateY(90deg); opacity: 0; }
  100% { transform: rotateY(0deg); opacity: 1; }
}
@keyframes fadeUp {
  0% { transform: translateY(30px); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}
@keyframes rotateIn {
  0% { transform: rotate(-20deg) translateY(30px); opacity: 0; }
  100% { transform: rotate(0deg) translateY(0); opacity: 1; }
}

.animate-flipIn { animation: flipIn 0.8s ease forwards; }
.animate-fadeUp { animation: fadeUp 0.8s ease forwards; }
.animate-rotateIn { animation: rotateIn 0.8s ease forwards; }

.image-wrapper {
  opacity: 1;
}

.ggl-dragonica-section3-arena-title {
    max-width: 674px;
    width: 35vw;
    position: relative;
    top: -87px;  
    opacity: 0;
    transform: translateY(-40px);
    transition: 
        opacity 0.9s ease-out,
        transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.ggl-dragonica-section3-arena-title.show {
    opacity: 1;
    transform: translateY(0);
}
/* Canvas transparan di atas background */
#canvas {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;

  opacity: 0.45; /* LEBIH KELIHATAN */
  mix-blend-mode: screen; /* lebih aman */
}
@media(max-width: 768px){
    .ggl-dragonica-section3-arena-title {
          max-width: 674px;
          width: 84%;
    }
    .image-container {
        /* flex-direction: column; */
        align-items: center;
        justify-content: center;
        gap: 18px;
        width: 100%;
        margin-top: -1vh;
    }

    .image-wrapper {
      width: 47%;
      display: flex;
      justify-content: center; 
    }

    .image-btn {
      width: 100%; 
      max-width: none;
      margin: 0 auto; 
      display: block;
    }
    #canvas {
      width: 100vw;
      max-width: 100vw;
      overflow: hidden;
    }
  
}
/*================================== SECTION 4 ==============================*/
#starmap {
  height: 100%;
  width: 100%;
  position:absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  pointer-events: none;
  z-index: 1;
  /* background: transparent;
  opacity: 0.2;
  mix-blend-mode: lighten; */
}

.star {
  animation-name: fade;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-fill-mode: both;
  animation-timing-function: linear;
}
.ggl-dragonica-section4-intro {
    padding-top: 2vw;
}
.ggl-dragonica-section4-menu {
    flex-direction: row;
    position: relative;
    z-index: 2;
}

.ggl-dragonica-section4-menu img {
    max-width: 408px;
    width: 18vw;
}

.ggl-dragonica-section4-menu1:hover,
.ggl-dragonica-section4-menu2:hover,
.ggl-dragonica-section4-menu3:hover {
    cursor: pointer;
}
.ggl-dragonica-section4-frame-container {
  position: relative;
  display: inline-block;
}

.ggl-dragonica-section4-btns {
  position: absolute;
  top: 17%; 
  left: 8%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 30px;
}

.ggl-dragonica-section4-btns img {
  max-width: 455px;
  width: 23vw;
  transition: transform 0.3s ease;
}

.ggl-dragonica-section4-btns img:hover {
  transform: scale(1.05);
}
.ggl-dragonica-section4-frame-comingsoon, .ggl-dragonica-section4-desc-frame{
   max-width: 1482px;
   width: 62vw;
   padding-top: 2vw;
}
/* Sembunyikan tombol aktif dan konten lain di awal */
.ggl-dragonica-section4-menu1-active,
.ggl-dragonica-section4-menu2-active,
.ggl-dragonica-section4-menu3-active {
  display: none;
}

#content2,
#content3 {
  display: none;
}

/* Saat aktif */
.active-menu {
  display: inline !important;
}

.inactive-menu {
  display: none !important;
}
/* ==== FRAME ANIMATIONS ==== */

/* Efek umum */
.animate-frame {
  animation-duration: 1.2s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-timing-function: ease-out;
}

/* Frame 1: Zoom In */
#content1.animate-frame {
  animation-name: frameZoomIn;
}

@keyframes frameZoomIn {
  0% {
    opacity: 0;
    transform: scale(0.85);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/* Frame 2: Slide In dari kiri (lebih jauh) */
#content2.animate-frame {
  animation-name: frameSlideLeft;
}

@keyframes frameSlideLeft {
  0% {
    opacity: 0;
    transform: translateX(-200px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Frame 3: Rotate + naik halus seperti yang kamu contohkan */
#content3.animate-frame {
  animation-name: frameRotatePop;
}

@keyframes frameRotatePop {
  0% {
    transform: rotate(-20deg) translateY(30px);
    opacity: 0;
  }
  100% {
    transform: rotate(0deg) translateY(0);
    opacity: 1;
  }
}
.ggl-dragonica-section4-btn-prereg {
    position: absolute;
    max-width: 725px;
    width: 14vw;
    cursor: pointer;
    bottom: 11px;
    right: 20px;

    /* filter: grayscale(100%); */
    transition: filter 0.3s ease;
}


.ggl-dragonica-section4-btn-prereg:hover {
    /* filter: grayscale(100%); */
    filter: brightness(110%);
}

/* Saat hover — hentikan animasi naik-turun, beri cahaya emas, dan zoom */
/* .ggl-dragonica-section4-btn-prereg:hover {
  animation: none;
  transform: translateY(0) scale(1.1); 
  filter: drop-shadow(0 0 25px rgba(255, 215, 0, 0.6))
          brightness(1.4);
  transition: transform 0.3s ease, filter 0.3s ease; 
} */

/* Animasi naik turun */
@keyframes floatUpDown {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

/* Efek cahaya berdenyut */
@keyframes glowPulse {
  0%, 100% {
    filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.6))
            drop-shadow(0 0 15px rgba(255, 0, 0, 0.7));
  }
  50% {
    filter: drop-shadow(0 0 15px rgba(255, 255, 255, 0.8))
            drop-shadow(0 0 35px rgba(255, 0, 0, 0.8))
            drop-shadow(0 0 50px rgba(255, 100, 0, 0.6));
  }
}
.section4-content-wrapper {
    aspect-ratio: 1482 / 850;
}

.ggl-dragonica-section4-guild-leaderboard-wrapper {
  position: relative;
  margin: 4vw auto 8vw auto;
  display: flex;
  justify-content: center;
}

.ggl-dragonica-section4-guild-leaderboard-table-frame {
  width: 90vw; /* tetap */
  max-width: 1300px;
  background: rgba(15, 15, 20, 0.9);
  border-radius: 15px;
  box-shadow: 0 0 40px rgba(150, 0, 255, 0.6);
  overflow-x: auto;
  padding: 2.5vw;

  /* 🔹 tambahan untuk scroll otomatis */
  max-height: 60vh;  /* batasi tinggi area tabel */
  overflow-y: auto;  /* aktifkan scroll vertikal */
}

.custom-pvp-table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  font-family: "Akira Expanded Super Bold", sans-serif;
  font-weight: 900;
  color: #fff;
  font-size: 1.5rem; /* 🔹 teks utama lebih besar */
  letter-spacing: 0.5px;
}

.custom-pvp-table th {
  background: linear-gradient(90deg, #5b00b8, #b100ff);
  color: #fff;
  text-transform: uppercase;
  font-weight: 700;
  padding: 24px 30px; /* 🔹 tinggi baris header */
  border: none;
  font-size: 1.7rem; /* 🔹 teks header besar */
  letter-spacing: 1px;
  text-shadow: 0 0 6px rgba(255, 255, 255, 0.3);
}

.custom-pvp-table td {
  padding: 22px 30px; /* 🔹 tinggi baris konten */
  background-color: rgba(255, 255, 255, 0.07);
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  font-size: 1.5rem;
}

.custom-pvp-table tr:nth-child(even) td {
  background-color: rgba(255, 255, 255, 0.1);
}

.custom-pvp-table tr:hover td {
  background-color: rgba(160, 0, 255, 0.3);
  transition: background 0.3s ease;
}

.custom-pvp-table .top-rank td {
  background-color: rgba(255, 215, 0, 0.18);
  color: #ffd700;
  font-weight: bold;
  text-shadow: 0 0 8px rgba(255, 215, 0, 0.5);
}

.custom-pvp-table thead th {
  border-bottom: 3px solid #b100ff;
}
/* ==== CUSTOM SELECT DROPDOWN ==== */
.custom-select-pvp {
    width: 100%; /* 🔥 Biar lebih panjang otomatis ngikut max-width wrapper */
    padding: 16px 22px;
    background: linear-gradient(145deg, rgba(40, 0, 65, 0.95), rgba(15, 0, 30, 0.95));
    border: 3px solid #c000ff;
    border-radius: 14px;

    /* 🔥 Font Akira */
    font-family: "Akira Expanded Super Bold", sans-serif;

    color: #fff;
    font-size: 1.5rem;      /* ⚡ lebih besar */
    font-weight: 900;
    letter-spacing: 1.5px;  /* sedikit lebih dramatis */

    cursor: pointer;
    outline: none;
    transition: 0.25s ease;
    appearance: none;

    /* custom arrow */
    background-image: url("data:image/svg+xml;utf8,<svg fill='white' height='28' viewBox='0 0 24 24' width='28' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 26px;
}

/* Hover Glow */
.custom-select-pvp:hover {
    border-color: #e44cff;
    box-shadow: 0 0 16px #b100ff, 0 0 28px rgba(255, 0, 255, 0.5);
}

/* Focus Glow */
.custom-select-pvp:focus {
    border-color: #ff7bff;
    box-shadow: 0 0 18px #ff33ff, 0 0 32px rgba(255, 0, 255, 0.45);
}

/* Dropdown Items */
.custom-select-pvp option {
    background: #14001e;
    color: #ffffff;
    padding: 12px;

    font-family: "Akira Expanded Super Bold", sans-serif; /* font sama */
    font-size: 1.2rem;
    font-weight: 700;

    text-transform: uppercase; /* 🔥 jadi HURUF BESAR semua */
}
.sweet-alert {
    background: linear-gradient(135deg, #2d2d3a, #47475a);
    font-family: 'DM Serif Display';
    width: 478px;
    padding: 17px;
    border-radius: 5px;
    text-align: center;
    position: fixed;
    left: 50%;
    top: 67%;
    margin-left: -256px;
    margin-top: -200px;
    overflow: hidden;
    display: none;
    z-index: 99999;
}
@media (max-width: 768px) {
  .ggl-dragonica-section4-btn-prereg {
    position: absolute;
    max-width: 725px;
    width: 38%;
  }
    .ggl-dragonica-section4-intro {
    padding-top: 4vw;
  }
  .ggl-dragonica-section4-menu img {
      max-width: 408px;
      width: 45%;
      padding-top: 1vh;
      margin-bottom: 4vw;
  }
  .ggl-dragonica-section4-btns {
    position: absolute;
    top: 10%;
    left: 30%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
  }
  /* Wrapper konten selalu center */
  .section4-content-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  /* Semua frame DISAMAKAN */
  .ggl-dragonica-section4-desc-frame,
  .ggl-dragonica-section4-frame-comingsoon {
    width: 90vw;        /* 🔥 SAMA SEMUA */
    max-width: 90vw;
    height: auto;
    display: block;
    margin: 0 auto;
    padding-top: 0;
  }

  /* Frame container center */
  .ggl-dragonica-section4-frame-container {
    width: 100%;
    display: flex;
    justify-content: center;
  }


  /* Animasi mobile: dari bawah, tetap center */
  #content1.animate-frame,
  #content2.animate-frame,
  #content3.animate-frame {
    animation-name: frameMobileFadeUp;
  }

  @keyframes frameMobileFadeUp {
    0% {
      opacity: 0;
      transform: translateY(40px) scale(0.95);
    }
    100% {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }
    .ggl-dragonica-section4-btns {
        position: absolute;
        top: 55%;
        left: 5%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 30px;
    }
    .ggl-dragonica-section4-btns img {
        width: 49%;
    }

}

/*================================== END ARENA LEAGUE ==============================*/


/*================================== FOOTER ==============================*/
.btn-to-top{
	text-align: right;
	cursor: pointer;
    position: fixed;
    bottom: 1vw;
    right: 1vw;
    display: none;
    z-index: 999;
	/*padding-right: 1vw;*/
}
.btn-to-top img{
	width: 60%;
	max-width: 125px;
}
.overlay-open > footer{
    display: none;
}
.overlay-footer{
    background: #252525;
    border-top: 5px solid #fbd760;
    /* padding: 40px 0; */
    scroll-snap-align: end;
}

.overlay-footer .sosmed a{
    color: #fff;
    font-size: 26px;
    margin: 0 10px;
}

.overlay-footer .sosmed a:hover{
    color: #2a54b6;
}

.overlay-footer .footer-logo{
    max-width: 280px;
}

.overlay-footer .text-footer{
    color: #fff;
    font-size: 10pt;
    font-weight: bold;
}
footer{
	background: #252525;
	border-top: 5px solid #fbd760;
	background-size: cover;
	position: relative;
	z-index: 1;
}

.row-logo{
	padding-top: 20px;
	padding-bottom: 20px;
}
.sosmed{
	padding-bottom: 1vw;
}
.sosmed a{
	color: #fff;
	font-size: 26pt;
	margin-right: 0.5vw;
    margin-left: 0.5vw;
}
.sosmed a:hover{
	color: #2a54b6;
	text-decoration: none;
}
.strip{
	border-right: 1px solid;
	min-width: 1px;
	min-height: 30px;
	font-size: 18pt;
}
.footer-menu{
	color: #000;
	font-size: 15pt;
	padding-left: 20px;
	padding-right: 20px;
}
.footer-menu:hover{
	text-decoration: none;
}

.text-footer{
	margin-top: 10px;
	font-size: 10pt;
	font-weight: bold;
	color:#fff;
}
.footer-logo{
	margin-right: 10px;
    max-width: 319px;
    width: 8vw;
}
@media(max-width: 767px){
	.btn-to-top{
		bottom: 3vw;
		right: 1vw;
		max-width: 120px;
	}
	.btn-to-top img{
		width: 50%;
	}
	.footer-logo {
		margin-right: 10px;
		max-width: 319px;
		width: 23%;
	}
}
/* @media(min-width: 426px)and(max-width: 449px){
	.footer-logo {
	    margin-right: 9px;
	}
}
@media(max-width:425px){
	.footer-logo{
	  margin-right: 10px;
	}
	.text-footer{
		font-size: 8pt;
		font-weight: bold;
	}
}
@media(max-width: 320px){
	.footer-logo{
		width: 50px;
	}
	.text-footer{
		font-size: 7pt;
		font-weight: bold;
	}	
} */
/*================================ END FOOTER ==============================*/