.left {
    display: none;
}

/* DESKTOP */
@media (min-width: 500px) {

  .wrapper {
    display: flex;
    justify-content: flex-end;
    height: 100vh;
  }

  .left {
    display: flex;
    width: 70%;
    max-width: 70%;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background: #111;
    color: white;
    text-align: center;
    padding: 40px;
  }

  .left h1 {
    font-size: 40px;
    margin-bottom: 10px;
  }

  .right {
    position: relative;
    overflow-y: auto;
    overflow-x: hidden;
    width: 30%;
    min-width: 350px;
    height: 100vh;
    outline: none;
    }

    .right::-webkit-scrollbar {
    display: none;
    }

    .right {
        scrollbar-width: none;
    }

  .right .overlay {
    position: absolute !important; /* paksa override fixed */
    inset: 0; /* lebih aman dari width/height */
  }
}

html {
    font-family: "Crimson Text", serif;
    font-weight: 400;
    font-style: normal;
    scroll-behavior: smooth;
}

p {
    font-size: clamp(13px, 2.5vw, 16px);
    text-align: center;
    line-height: 1.2;
    max-width: 600px;
}

h1{
    font-family: "Lavishly Yours", cursive;
    font-weight: 400;
    font-style: normal;
    font-size: clamp(32px, 6vw, 40px);
    margin: 0;
    padding: 0;
}

h2{
    font-family: "Lavishly Yours", cursive;
    font-weight: 400;
    font-style: normal;
    font-size: clamp(28px, 4vw, 32px);
}

h3{
    font-family: "Lavishly Yours", cursive;
    font-weight: 400;
    font-style: normal;
    font-size: clamp(20px, 3vw, 24px);
}

body {
    margin: 0;
    padding: 0;
    line-height: 1.5;
    color: #22272f;
    position: relative;
    background: url('/katalog/undangan/nature/floralsoft/images/backlandscape.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

#loadingText{
position:absolute;
top:30px;
font-size:14px;
padding:4px 8px;
border-radius:4px;
opacity:0.8;
background-color:goldenrod;
color:white;

transform:translateY(0);
transition:opacity .6s ease, transform .6s ease, background-color .4s ease;

z-index: 9999;
}

/* status siap */
#loadingText.loading-ready{
background-color: seagreen;
}

.loading-hide{
opacity:0;
transform:translateY(-25px);
pointer-events:none;
}

/* ===========================
    ANIMATION
============================== */

/* ANIMATION BASE */
.animate {
    opacity: 0;
    transform: scale(0.95);
    transition: all 3s cubic-bezier(0.22, 1, 0.36, 1);
}

/* SHOW */
.animate.show {
    opacity: 1;
    transform: scale(1);
}

/* VARIASI */
.from-left {
    transform: translateX(-60px);
}
.from-right {
    transform: translateX(60px);
}
.from-leftside {
    left: -70px;
    transform: translateX(-40px);
}
.from-rightside {
    right: -70px;
    transform: translateX(40px);
}
.from-top {
    transform: translateY(-60px);
}
.from-bottom {
    transform: translateY(60px);
}
.zoom-in {
    transform: scale(0.2);
}

/* DELAY */
.delay-1 { transition-delay: 0.3s; }
.delay-2 { transition-delay: 0.6s; }
.delay-3 { transition-delay: 0.8s; }
.delay-4 { transition-delay: 1.0s; }
.delay-5 { transition-delay: 1.1s; }

/* Animasi Flower di POJO */
.img-loop-kiri {
    display: block;
    width: 100%;
    animation: fall2 7s linear infinite;
    z-index: 3;
    pointer-events: none;
}
.img-loop-kanan {
    display: block;
    width: 100%;
    animation: fall 12s linear infinite;
    z-index: 3;
    pointer-events: none;
}
.sidekanan{
    position: absolute;
    z-index: 3;
    width: 140px;
    pointer-events: none;
}
.sidekiri{
    position: absolute;
    z-index: 3;
    width: 140px;
    pointer-events: none;
}
.leafside {
    position: absolute;
    width: 160px;
    height: auto;
    z-index: 2;
    pointer-events: none;
}
#leafkiri {
    left: -70px;
}
#leafkanan {
    right: -70px;
}
#leafkiriatas {
    top: 0;
    left: 0;
}

#leafkananatas {
    top: 0;
    right: 0;
}

#leafkiribawah {
    bottom: 0;
    left: 0;
}

#leafkananbawah {
    bottom: 0;
    right: 0;
}
@keyframes sidekiri {
  0% {
    transform: scale(1.0) rotate(0deg);
  }
  25% {
    transform: scale(1.05) rotate(6deg);
  }
  50% {
    transform: scale(1.1) rotate(0deg);
  }
  75% {
    transform: scale(1.05) rotate(-8deg);
  }
  100% {
    transform: scale(1.0) rotate(0deg);
  }
}
@keyframes sidekanan {
  0% {
    transform: translateX(50%) scale(1.0) rotate(0deg);
  }
  25% {
    transform: translateX(50%) scale(1.05) rotate(6deg);
  }
  50% {
    transform: translateX(50%) scale(1.1) rotate(0deg);
  }
  75% {
    transform: translateX(50%) scale(1.05) rotate(-8deg);
  }
  100% {
    transform: translateX(50%) scale(1.0) rotate(0deg);
  }
}
@keyframes fall {
  0% {
    transform: scale(1.0) rotate(0deg);
  }
  25% {
    transform: scale(1.05) rotate(6deg);
  }
  50% {
    transform: scale(1.1) rotate(0deg);
  }
  75% {
    transform: scale(1.05) rotate(-8deg);
  }
  100% {
    transform: scale(1.0) rotate(0deg);
  }
}
@keyframes fall2 {
  0% {
    transform: scale(1.0) rotate(0deg);
  }
  25% {
    transform: scale(1.05) rotate(-6deg);
  }
  50% {
    transform: scale(1.1) rotate(0deg);
  }
  75% {
    transform: scale(1.05) rotate(5deg);
  }
  100% {
    transform: scale(1.0) rotate(0deg);
  }
}
/* ATAS ANIMASI FLOWER POJOK */

/* ===========================
    LOCKSCREEN
============================== */

.overlay > * {
    opacity: 0;
    transition: opacity 2s ease, transform 2s ease;
}

/* Saat aktif */
.overlay.show > *  {
    opacity: 1;
}

/* sebelum dibuka → semua konten disembunyikan */
body:not(.opened) .container * {
    opacity: 0;
}

/* setelah klik */
body.opened #lockScreen {
    opacity: 0;
    pointer-events: none;
}

/* Menyembunyikan lock screen */
#lockScreen.hidden {
    transform: translateY(-100%);
    pointer-events: none;
}

/* Menonaktifkan scroll saat lock screen aktif */
body.locked {
    overflow: hidden; /* Menonaktifkan scroll */
}

.parent {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: repeat(8, 1fr);
grid-column-gap: 0px;
grid-row-gap: 0px;
}

.div1 { grid-area: 2 / 1 / 3 / 2; }
.div2 { grid-area: 3 / 1 / 6 / 2; }
.div3 { grid-area: 6 / 1 / 8 / 2; }

.div1,
.div2,
.div3 {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.container {
    width: 100%;
    min-height: 500px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    background: url('/katalog/undangan/nature/floralsoft/images/backlandscape.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    text-align: center;
    overflow: hidden;
    box-sizing: border-box;
}

.content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0;
    padding: 20px 20px 32px 20px;
}

@media (min-width: 760px) {
    .container {
        background: url('/katalog/undangan/nature/floralsoft/images/backportrait.jpg');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }
    body {
        background: url('/katalog/undangan/nature/floralsoft/images/backportrait.jpg');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        background-attachment: fixed;
    }
}

/* SEMUA ISI DI DALAM container */
/* Mengatur lock screen dengan background solid dan tidak transparan */
#lockScreen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('/katalog/undangan/nature/floralsoft/images/backportrait.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    opacity: 1;
    pointer-events: auto;
    transition: opacity 0.5s ease, transform 0.5s ease;
    transform: translateY(0);
    z-index: 9999; /* pastikan berada di atas semua konten */
}

#containeroverlay {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: rgba(255, 255, 255, 0.25); /* transparan */
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px); /* Safari */
    border-radius: clamp(20px, 4vw, 30px);
    width: 94%;
    height: 94%;
    overflow: hidden;
}

.detailtamu {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* Styling untuk tombol buka undangan */
.open-btn {
    margin-top: 20px;
}

.open-btn a {
    color: #fffbdf;
    text-decoration: none;
    padding: 6px 12px;
    background-color: #3B4953;
    border-radius: 5px;
    font-size: 13px;
    font-weight: bold;
    transition: background-color 0.3s ease, color 0.3s ease;
    cursor: pointer;
}

/* Efek hover untuk tombol */
.open-btn a:hover {
    background-color: #007BFF; /* Tambahkan background saat hover */
    color: #fffbdf; /* Mengubah warna teks saat hover */
}

#namapasangan {
    margin: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* Styling untuk teks */
#namapasangan h1, #namapasangan h2 {
    text-align: center;
    margin: 12px;
}

#namapasangan h1 {
    font-size: 3rem;
}

#namapasangan h2 {
    font-size: 2rem;
}

.detailtamu h4 {
    text-align: center;
    margin: 0;
    font-size: 20px;
}

/*======================================
    PAGE 1 - HALAMAN AWAL
======================================*/

#pasangan {
    text-align: center;
    font-family: "Crimson Text", serif;
    font-weight: 400;
    font-style: normal;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
#pasangan .profil {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.photo{
    width: clamp(180px, 20vw, 280px);
    height: clamp(280px, 24vw, 400px);

    margin-bottom: 16px;

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;

    mask-size:100% 100%;
    mask-repeat:no-repeat;
    mask-position:center;

    -webkit-mask-size:100% 100%;
    -webkit-mask-repeat:no-repeat;
    -webkit-mask-position:center;

    /* Border elegan */
    filter:
        drop-shadow(0 0 0 #fff)
        drop-shadow(0 0 2px rgba(255,255,255,1))
        drop-shadow(0 6px 18px rgba(0,0,0,1));
}

#hanger{  
    width: 160px;;
}
.dekorfoto{
    margin-bottom: 16px;
}
.dekorfoto #foto{
    border-radius: clamp(10px, 3vw, 18px);
    box-shadow:
    0 10px 20px rgba(0, 0, 0, 0.12),
    0 6px 6px rgba(0, 0, 0, 0.08);
    width: clamp(140px, 10vw, 170px);
}
.dekorfoto .dekorkecil{
    width: 120px;
    height: auto;
    position: absolute;
    bottom: 0;
    left: 0;
    transform: translateX(-15%) translateY(15%);
    z-index: 10;
}
.dekorfoto .dekorkecil2{
    width: 120px;
    height: auto;
    position: absolute;
    bottom: 0;
    right: 0;
    transform: translateX(15%) translateY(15%);
    z-index: 10;
}

#sambutan {
    margin: 0px 20px 40px 20px;
}

/*======================================
    PAGE 2 - DETAIL ACARA
======================================*/
#detailacara h4 {
    text-align: center;
    margin: 0;
    font-size: 20px;
    text-decoration: none;
}

#detailacara h2{
    margin: 20px;
    padding: 0;
}

#containeracara {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #EAEFEF;
    color: #22272f;
    margin: 10px 20px 10px 20px;
    min-width: 280px;
    max-width: 600px;
    border-radius: clamp(16px, 4vw, 26px);
    padding: 20px;
}

#containeracara .tanggal {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin: 30px 0px;
    gap: clamp(10px, 4vw, 20px);
}

.judulacara {
    font-size: clamp(16px, 3vw, 20px);
    font-weight: bold;
}

#t-bulan,
#t-tahun {
    font-size: clamp(16px, 2.5vw, 20px);
    font-weight: bold;
    width: 80px;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
}

#t-tanggal {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: clamp(12px, 2.5vw, 16px);
}

#h-tanggal {
    display: block;
    font-size: 46px;
    font-weight: bold;
    line-height: 1;
    margin: 0;
    padding: 0;
}

#h-hari,
#h-jam {
    font-size: clamp(13px, 2vw, 16px);
    white-space: nowrap;
}

.alamat {
    margin: 20px;
}
.alamat p {
    font-size: clamp(13px, 2vw, 16px);
    padding: 0;
    margin: 0;
}

#containeracara a {
    text-decoration: none;
    color: #fffbdf;
    background-color: #22272f;
    padding: 6px 20px 6px 20px;
    border-radius: clamp(4px, 1.5vw, 8px);
}

/*======================================
    PAGE 3 - HALAMAN KISAH CINTA
======================================*/
#containerkisah {
    background: rgba(255, 255, 255, 0.25); /* transparan */
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px); /* Safari */
    padding: 20px;
    border-radius: clamp(10px, 2vw, 20px);
    max-width: 600px;
}

#lovestory::before {
    content: "";
    position: absolute;
    inset: 0;
    
    background: inherit; /* ambil background dari parent */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    filter: grayscale(50%);
    z-index: 0;
}


/*======================================
    PAGE 4 - HALAMAN GALERI FOTO
======================================*/
/* setting Galeri Foto */
#page4 {
    padding-bottom: 60px;
}

#page4 h2,
#page4 p {
    margin: 0;
}
#page4 #hanger{
    width: 160px;
}

/*======================================
    PAGE 5 - HALAMAN REKENING
======================================*/
#page5 p {
    max-width: 600px;
}

#alamatkado {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 20px;
}

#kirimkankado {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: 1px solid black;
    border-radius: clamp(4px, 2vw, 8px);
    padding: 10px;
    margin: 10px 20px;
    width: 280px;
    gap: 10px;
}

#kirimkankado h4{
    font-size: 16px;
    margin: 0;
}

#kirimkankado p {    
    font-family: "Crimson Text", serif;
    font-style: normal;
    margin: 0;
    line-height: 1.4;
}

/*======================================
    PAGE 6 - HALAMAN WISHIS
======================================*/
.quotes {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: rgba(255, 255, 255, 0.25); /* transparan */
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px); /* Safari */
    padding: 26px;
    border-radius: clamp(10px, 4vw, 20px);
}

/*======================================
    PAGE 8 - HALAMAN QUOTES
======================================*/
#page8 .profil {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: rgba(255, 255, 255, 0.25); /* transparan */
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px); /* Safari */
    padding: 26px;
    border-radius: clamp(10px, 4vw, 20px);
}

#page8::before {
    content: "";
    position: absolute;
    inset: 0;
    
    background: inherit; /* ambil background dari parent */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    filter: grayscale(50%);
    z-index: 0;
}

#page8 .profil img {
    border-radius: clamp(10px, 4vw, 20px);
    width: clamp(140px, 10vw, 200px);
}

/*======================================
    STREAMING YOUTUBE LIVE
======================================*/
.streaming-header{
    text-align:center;
    margin-bottom:24px;
}

.streaming-header i{
    font-size:34px;
    color:#d92323;
    margin-bottom:10px;
}

.streaming-header p{
    margin-top:10px;
    color:#000;
    line-height:1.7;
    font-size:15px;
}

/*======================================
    FOOTER 
======================================*/
#footer {
    background: url('/katalog/undangan/nature/floralsoft/images/backlandscape.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #7e9178;
    color: black;
    padding: 20px 20px 40px 20px;
    }

#footer .icon{
    font-size: 20px;
    display: flex;
    gap: 20px;
}

#footer .icon i {
    color: black;
}