.text-primary {
    color: var(--text-primary) !important;
}

.text-secondary {
    color: var(--text-secondary) !important;
}
.text-color-1 {
    color: var(--tone-color-1) !important;
}
.text-color-2 {
    color: var(--tone-color-2) !important;
}
.text-color-3 {
    color: var(--tone-color-3) !important;
}
.text-color-4 {
    color: var(--tone-color-4) !important;
}
.bg-color-1 {
    background-color: var(--tone-color-1) !important;
}
.bg-color-2 {
    background-color: var(--tone-color-2) !important;
}
.bg-color-3 {
    background-color: var(--tone-color-3) !important;
}
.bg-color-4 {
    background-color: var(--tone-color-4) !important;
}
.bg-primary {
    background-color: var(--bg-primary) !important;
}

.card-backdrop{
    border-radius: 100px 100px 0 0 !important;
}

.background-cover {
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

.border-radius-half-rounded {
    border-radius: 0 23% 0 23%!important;
}
.bg-slider-container-fixed {
    position: fixed !important;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    z-index: 0 !important;
    pointer-events: none;
    overflow: hidden;
}

/* Ukuran slide mengikuti kontainer kolom kanannya secara presisi */
.bg-slide-fixed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    will-change: transform;
}

/* Penyesuaian lebar fixed agar persis dengan lebar kolom Bootstrap di layar MD & LG */
@media (min-width: 768px) {
    .bg-slider-container-fixed {
        width: 50%; /* Mengikuti lebar col-md-6 (50% dari layar) */
    }
}

@media (min-width: 992px) {
    .bg-slider-container-fixed {
        width: 33.3333%; /* Mengikuti lebar col-lg-4 (1/3 atau sekitar 33.3% dari layar) */
    }
}

/*BRIDE SECTION*/
.bg-bride{
    background-color: rgba(255,255,255, 0.8) !important;
}

.bride-sub {
    color: var(--text-primary) !important;
}

/*SCHEDULE SECTION*/
.bg-schedule{
    background-repeat: repeat-y !important;
    background-size: 100% auto !important;
    background-position: center !important;
    background: url("/themes/eternal-noir/img/bg-schedule.png");
}
.card-schedule{
    border-radius: 40px !important;
}
.bg-card-schedule{
    background-color: rgba(	217, 217, 217, .15) !important;
}

.schedule-separator{
    border: none;
    opacity: 1 !important;
    border-top: 1px solid var(--tone-color-4) !important;
}

.card-schedule-border{
    border: 2px solid #AE8D69 !important;
}

.card-schedule-radius{
    border-radius: 8px !important;
}

.border-top-left-radius-0{
    border-top-left-radius: 0 !important;
}

.border-top-right-radius-0{
    border-top-right-radius: 0 !important;
}

.border-bottom-left-radius-0{
    border-bottom-left-radius: 0 !important;
}

.border-bottom-right-radius-0{
    border-bottom-right-radius: 0 !important;
}

/* Container Layer Latar Belakang */
.bg-slider-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
}

/* Elemen Gambar Slide */
.bg-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    will-change: transform;
}

/* Keyframes Gambar 1 (Selalu Bergerak Ke Kiri) */
@keyframes slideHorizontal1 {
    0%, 40% {
        transform: translateX(0%);
    }
    50%, 90% {
        transform: translateX(-100%);
    }
    90.01% {
        transform: translateX(100%);
    }
    100% {
        transform: translateX(0%);
    }
}

/* Keyframes Gambar 2 (Selalu Bergerak Ke Kiri) */
@keyframes slideHorizontal2 {
    0%, 40% {
        transform: translateX(100%);
    }
    50%, 90% {
        transform: translateX(0%);
    }
    100% {
        transform: translateX(-100%);
    }
}

.bg-livestreaming{
    background: linear-gradient(
            to bottom,
            rgba(190, 185, 172, 1) 0%,
            rgba(190, 185, 172, 0.5) 50%,
            rgba(190, 185, 172, 0.8) 80%,
            rgba(255,255,255, 1) 100%
    );
}

.card-story{
    border-radius: 40px 0 40px 0 !important;
}

.shadow-story{
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.25);
}

.bg-gallery{
    background-color: rgba(0,0,0, 0.7) !important;
}

.bg-gift{
    background:url("/themes/eternal-noir/img/bg-gift-top.png"),url("/themes/eternal-noir/img/bg-gift-bottom.png");
    background-size: 100% auto;
    background-position: top center, bottom center;
}

.card-gift-address{
    background-color: var(--tone-color-1) !important;
    border-radius: 15px 0 0 15px !important;
}

.bg-primary-light {
    background-color: var(--bs-primary-light) !important;
    color: var(--bs-primary) !important;
}

.bg-backdrop{
    background-color: var(--tone-color-1) !important;
    background: linear-gradient(
            to left,
            rgba(51, 51, 51, 0) 0%,
            rgba(94, 94,94, .5) 100%
    );
}

/* Keyframes Animasi Slide Left (Looping Mulus) */
@keyframes slideLeftLoop {
    0%, 40% {
        transform: translateX(0); /* Tampil Background 1 */
    }
    50%, 90% {
        transform: translateX(-33.333%); /* Slide ke Background 2 */
    }
    100% {
        transform: translateX(-66.666%); /* Slide ke Duplikat Background 1 */
    }
}


/* ==========================================
   IMAGE QUOTE
   ========================================== */
:root {
    --slider-item-size: 64px; /* Ukuran diameter lingkaran (Bisa diubah, misal 120px atau 12vw) */
    --slider-gap: 1.25rem;     /* Jarak antar lingkaran (Sama dengan gap Bootstrap) */
}
.infinite-slider-wrapper {
    overflow: hidden;
    /* Dibatasi HANYA memuat tepat 5 lingkaran + 4 gap di antaranya */
    width: calc((5 * var(--slider-item-size)) + (4 * var(--slider-gap))) !important;
    max-width: 100%; /* Mencegah meluap di layar HP yang sangat kecil */
    margin-left: auto;
    margin-right: auto;
}

.infinite-slider-track {
    display: flex;
    gap: var(--slider-gap);
    width: max-content;
    will-change: transform;
}

.slider-item {
    width: var(--slider-item-size);
    aspect-ratio: 1 / 1;
    flex-shrink: 0;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.infinite-slider-wrapper:hover .infinite-slider-track {
    animation-play-state: paused;
}

/* ==========================================
   CONTAINER & BINGKAI UTAMA
   ========================================== */

/* Container Utama */
.vertical-slider-container {
    position: relative;
    width: 100%;
    height: 170px;
    display: flex;
    align-items: center;
}

.vertical-slider-container-gift {
    position: relative;
    width: 100%;
    height: 250px;
    display: flex;
    align-items: center;
}

/* Background Shape di belakang */
.bg-shape {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 105px;
    background-color: var(--tone-color-4, #d2cfc4);
    border-radius: 0 50px 0 50px;
    z-index: 0;
}

/* Wrapper Flexbox 2 Kolom */
.vertical-slider-wrapper {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    width: 100%;
}

/* --- BINGKAI STATIS (MASKING) --- */
.vertical-slider-col {
    width: 120px;
    height: 170px; /* TINGGI DITETAPKAN AGAR BINGKAI STATIS */
    position: relative;
    border-radius: 0 50px 0 50px;
    overflow: hidden; /* MEMOTONG GAMBAR YANG BERGERAK DI DALAMNYA */
}

/* Kolom kiri diturunkan sedikit */
.vertical-slider-col.col-right {
    border-radius: 50px 0 50px 0;
}

/* --- TRACK CONTAINER --- */
.vertical-slider-track {
    position: relative;
    width: 100%;
    height: 100%;
}

/* --- ELEMENT GAMBAR --- */
.slide-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 170px; /* SAMA DENGAN TINGGI .vertical-slider-col */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    will-change: transform;
    animation-duration: 8s;
    animation-iteration-count: infinite;
    animation-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}


/* ==========================================
   KEYFRAMES DARI ATAS KE BAWAH (KOLOM KIRI)
   ========================================== */
@keyframes slideVerticalDown1 {
    0%, 40% {
        transform: translateY(0%);       /* Diam/Jeda di tengah */
    }
    50%, 90% {
        transform: translateY(100%);     /* Meluncur turun ke bawah bingkai */
    }
    90.01% {
        transform: translateY(-100%);    /* Teleport instan ke atas bingkai */
    }
    100% {
        transform: translateY(0%);       /* Meluncur masuk lagi ke tengah */
    }
}

@keyframes slideVerticalDown2 {
    0%, 40% {
        transform: translateY(-100%);    /* Menunggu di atas bingkai */
    }
    50%, 90% {
        transform: translateY(0%);       /* Meluncur ke tengah & Diam/Jeda */
    }
    100% {
        transform: translateY(100%);     /* Meluncur keluar ke bawah */
    }
}


/* ==========================================
   KEYFRAMES DARI BAWAH KE ATAS (KOLOM KANAN)
   ========================================== */
@keyframes slideVerticalUp1 {
    0%, 40% {
        transform: translateY(0%);       /* Diam/Jeda di tengah */
    }
    50%, 90% {
        transform: translateY(-100%);    /* Meluncur NAIK keluar ke atas */
    }
    90.01% {
        transform: translateY(100%);     /* Teleport instan ke bawah bingkai */
    }
    100% {
        transform: translateY(0%);       /* Meluncur NAIK masuk ke tengah */
    }
}

@keyframes slideVerticalUp2 {
    0%, 40% {
        transform: translateY(100%);     /* Menunggu di bawah bingkai */
    }
    50%, 90% {
        transform: translateY(0%);       /* Meluncur NAIK ke tengah & Diam/Jeda */
    }
    100% {
        transform: translateY(-100%);    /* Meluncur NAIK keluar ke atas */
    }
}

.image-gift-section-left{
    height:227px !important;
    width:152px !important;
}

.image-gift-section-right{
    height:180px !important;
    width:120px !important;
}

.bg-shape-gift{
    background-color: var(--tone-color-6);
    height:180px;
    width:120px;
}

.vertical-slider-col-gift-left .bg-shape-gift {
    position: absolute;
    bottom: -5%;
    left: -11%;
    width: 83%;
    height: 78%;
    background-color: var(--tone-color-3);
    transform: translate(0, 6px);
    z-index: 0;
}

.vertical-slider-col-gift-right .bg-shape-gift {
    position: absolute;
    top: -8%;
    right: -11%;
    width: 83%;
    height: 78%;
    background-color: var(--tone-color-3);
    transform: translate(0, 6px);
    z-index: 0;
}

.vertical-slider-track-gift {
    position: relative;
    z-index: 1; /* Supaya gambar berada tepat di atas background shape biru */
    width: 100%;
    height: 100%;
    overflow: hidden; /* Memotong gambar yang meluncur naik/turun di dalam bingkai */
}
/* ==========================================
   WISH SLIDER V2 (SINGLE COLUMN + PAUSE SLIDE)
   ========================================== */

.wish-v2-container {
    position: relative;
    width: 100%;
    height: 230px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.wish-v2-frame {
    width: 100%;
    height: 230px;
    position: relative;
    border-radius: 1rem 6rem 1rem 6rem !important;
    overflow: hidden;
    background-color: transparent;
}

/* Base item gambar */
.wish-v2-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    /* Posisi default sembunyi di atas */
    transform: translateY(-100%);
    will-change: transform;

    /* Animasi Infinite */
    animation-name: wishV2SlideDown;
    animation-iteration-count: infinite;
    animation-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}

.text-secondary {
    color: var(--text-secondary) !important;
}

.text-size-title-backdrop {
    font-size: calc(var(--font1) * 1.4) !important;
}
.text-size-content-backdrop {
    font-size:  calc(var(--font3) * 1.4) !important;
}


.bg-secondary{
    background-color: var(--bg-secondary) !important;
}

.bg-navigation {
    background-color: var(--bg-primary) !important;
    border-radius: 30px !important;
    margin-bottom: 10px;
}

#gift_registry .btn-primary{
    background-color: var(--tone-color-3) !important;
    color: var(--tone-color-2) !important;
}

#gift_registry .btn-primary .fas{
    color: var(--tone-color-2) !important;
}
.text-color-2{
    color: var(--tone-color-2) !important;
}
#btn-gift-modal{
    border-radius: 50rem !important;
}

.preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background-color: var(--bs-primary-light);
}

.loading {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font: 14px arial;
    color: var(--bs-primary);
}

.bg-secondary {
    background-color: var(--bg-secondary) !important;
}

#modalInvitation .modal-content {
    background-color: var(--invitation-bg);
}

html body {
    background-color: var(--tone-color-3) !important;
    color: var(--text-primary) !important;
    font-family: "Raleway", sans-serif;
    z-index: 2;
}

.font-title {
    font-family: "Playfair Display", serif;
}

.font-content {
    font-family: "Raleway", sans-serif;
}

#cover .title,
#modalInvitation .title {
    font-size: calc(var(--font1) * 1.5) !important;
}

#schedule .card.bg-card-schedule {
    box-shadow: 0 1rem 2rem 1rem rgba(0, 0, 0, 0.1) !important
}

#countdown .badge.badge-circle {
    border-radius: 2px !important;
    /* 1. Garis putih bagian dalam */
    border: 1px solid var(--bg-primary);
    /* 2. Garis putih bagian luar */
    outline: 1px solid var(--bg-primary);
    /* 3. Celah transparan antar garis (menampilkan background di balik elemen) */
    outline-offset: 4px;
}
#countdown .badge-primary {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
    padding: 15px;
    width: 36px;
    height: 36px;
    margin: 8px;
}

.label-countdown {
    margin-left: 0;
}

.splide__arrow {
    background: var(--tone-color-2);
}

/* .splide--nav,
> .splide__slider,
> .splide__track,
> .splide__list,
> .splide__slide.is-active,
.splide--nav > .splide__track > .splide__list > .splide__slide.is-active {
    border: none !important;
} */

.splide__arrow svg {
    fill: white !important;
}

.splide--nav>.splide__slider>.splide__track>.splide__list>.splide__slide.is-active, .splide--nav>.splide__track>.splide__list>.splide__slide.is-active {
    border: 2px solid var(--tone-color-4) !important;
}

.form-control.form-control-solid {
    background-color: var(--invitation-bg) !important;
    border-color: #757575;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.dropdown.show > .form-control.form-control-solid,
.form-control.form-control-solid:active,
.form-control.form-control-solid.active,
.form-control.form-control-solid:focus,
.form-control.form-control-solid.focus {
    background-color: var(--invitation-bg);
    border-color: var(--bs-primary);
}

.bg-avatar .symbol {
    box-shadow: 0 0 20px 0 rgb(0 0 0 / 30%);
    outline: 4px solid var(--bs-secondary);
    outline-offset: -12px;
}

.border-secondary{
    border-color: white !important;
}

.btn-secondary,
.btn-secondary .bi,
.btn-secondary .fas {
    background-color: var(--text-primary) !important;
    color: black !important;
}

.btn-light,
.btn-light .bi,
.btn-light .fas {
    background-color: var(--bs-primary) !important;
    color: white !important;
}


#ig-stories .bi {
    background-color: var(--bs-secondary-light) !important;
    color: var(--bs-secondary) !important;
}

.badge-primary {
    color: var(--invitation-bg) !important;
}

.nav-link {
    color: var(--tone-color-2) !important;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    color: white !important;
    background-color: var(--tone-color-2) !important;
    border-radius: 50px;
    width: 75px;
}

.svg-icon.svg-icon-primary svg [fill]:not(.permanent):not(g) {
    fill: white !important;
}

/* Memastikan AOS bekerja pada elemen absolut */
[data-aos] {
    pointer-events: none;
}
.aos-animate {
    pointer-events: auto;
}

.bg-primary {
    background-color: var(--bg-primary) !important;
}

.timeline-badge > .fa {
    background-color: unset !important;
    color: var(--text-primary) !important;
}

.border-primary {
    border-color: var(--tone-color-4) !important;
}

.border-secondary {
    border-color: var(--bg-secondary) !important;
}

.rounded {
    border-radius: 30px !important;
    overflow: hidden;
}

.rounded-sm {
    border-radius: 10px !important;
}

.rounded-1 {
    border-radius: 16px !important;
}

.text-light {
    color: var(--bs-text-light) !important;
}

.animate-zoom-in-out {
    animation: zoom-in-zoom-out 2s ease infinite;
    transform-origin: bottom center;
}

.btn-primary,
.btn-primary .bi,
.btn-primary .fas {
    color: var(--text-primary) !important;
}

#bride .btn-primary,
#bride .btn-primary .bi,
#bride .btn-primary .fas {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

#modalInvitation .btn-primary,
#modalInvitation .btn-primary .bi,
#modalInvitation .btn-primary .fas {
    background-color: var(--bg-primary) !important;
    color: var(--tone-color-3) !important;
}

.schedule-address {
    margin-bottom: 10px;
}

#schedule .btn-primary,
#schedule .btn-primary .bi,
#schedule .btn-primary .fas {
    background-color: var(--tone-color-2) !important;
    color: white !important;
}

#schedule .btn-secondary,
#schedule .btn-secondary .bi,
#schedule .btn-secondary .fas {
    color: black !important;
    background-color: var(--text-primary) !important;
}

#gift .btn-primary,
#gift .btn-primary .bi,
#gift .btn-primary .fas {
    background-color: var(--tone-color-2) !important;
    color: white !important;
}

#btn-wegiftry{
    border-radius: 50rem !important;
}


#wish button[type="submit"].btn-primary,
#wish button[type="submit"].btn-primary .bi,
#wish button[type="submit"].btn-primary .fas {
    color: #FFF !important;
    background-color: var(--text-secondary) !important;
}

#wish ::placeholder {
    color: var(--text-primary) !important;
}

#wish hr {
    padding: 0;
    margin: 0;
    background: unset !important;
    border: 1px dashed currentColor;
}

.btn-check:checked + .btn.btn-secondary, .btn-check:active + .btn.btn-secondary, .btn.btn-secondary:focus:not(.btn-active), .btn.btn-secondary:hover:not(.btn-active), .btn.btn-secondary:active:not(.btn-active), .btn.btn-secondary.active, .btn.btn-secondary.show, .show > .btn.btn-secondary {
    color: black;
    background-color: var(--text-primary) !important;
}

.square-bottom {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

@keyframes zoom-in-zoom-out {
    0% {
        transform: scale(1.2, 1.2);
    }
    50% {
        transform: scale(1, 1);
    }
    100% {
        transform: scale(1.2, 1.2);
    }
}

@keyframes move-bottom-to-top {
    from {
        background-position: 0 100%;
    }
    to {
        background-position: 0 0%;
    }
}

@keyframes move-right-to-left {
    from {
        background-position: 100% top;
    }
    to {
        background-position: 0% top;
    }
}

@keyframes popupUp {
    from {
        transform: translateY(100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

li.splide__slide {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 10px !important;
}

/* .splide--nav,
> .splide__slider,
> .splide__track,
> .splide__list,
> .splide__slide,
.splide--nav > .splide__track > .splide__list > .splide__slide {
    border: 0;
}

splide--nav,
> .splide__slider,
> .splide__track,
> .splide__list,
> .splide__slide.is-active,
.splide--nav > .splide__track > .splide__list > .splide__slide.is-active {
    border: 3px solid var(--bs-primary);
} */

/*For IG Story template*/
#capture.frame,
#capture.frame .text-primary {
    color: white !important;
}

#capture.frame .bg-primary {
    background: white !important;
    border-color: white !important;
    color: var(--tone-color-2) !important;
}

#ig-story .font-title.text-primary {
    color: white !important;
}

#ig-story a.btn.btn-primary.btn-flex.flex-column.w-100.mb-5.fs-7 {
    background-color: var(--bg-primary);
    color: var(--bg-primary) !important;
}

#ig-story a.btn.btn-primary.btn-flex.flex-column.w-100.mb-5.fs-7 span {
    color: var(--bg-primary) !important;
}

#ig-stories .text-center.aos-init.aos-animate {
    color: white !important;
}

#ig-stories .btn-primary {
    background-color: var(--tone-color-2) !important;
    color: var(--bg-primary) !important;
    border-radius: 50rem !important;
}

#ig-stories .bi {
    background-color: transparent !important;
    color: var(--text-secondary) !important;
}

#ig-story a.btn.btn-primary.btn-flex.flex-column.w-100.mb-5.fs-7 span {
    color: var(--text-secondary) !important;
}

#ig-story .ig-story-template-label,
#ig-story .ig-story-template-title,
#ig-story .ig-story-template-footer {
    color: white !important;
}

/* .btn.btn-secondary:hover:not(.btn-active) {
    background-color: var(--bs-secondary-hover) !important;
} */
.btn.btn-primary .svg-icon svg [fill]:not(.permanent):not(g) {
    transition: fill 0.3s ease;
    fill:var(--text-primary);
}

#bride .btn.btn-primary .svg-icon svg [fill]:not(.permanent):not(g) {
    transition: fill 0.3s ease;
    fill: var(--text-primary);
}

@media only screen and (max-width: 600px) {
}

#modalGift .btn-light,
#modalQR .btn-light {
    color: white !important;
    background-color: var(--invitation-bg) !important;
}

#modalQRGift .btn.btn-light:hover:not(.btn-active){
    color: white !important;
    background-color: var(--invitation-bg) !important;
}

#modalGift .accordion-button:not(.collapsed) {
    color: var(--bs-primary);
    background-color: initial;
}

#text-address-modal-gift {
    color: black !important;
}

.border-radius-0 {
    border-radius: 0 !important;
}
.w-80 {
    width: 80% !important;
}
.w-90 {
    width: 90% !important;
}

.bank-name,
.beneficiary-number,
.beneficiary-name,
.account-name {
    color: white !important;
}


a {
    color: var(--bg-primary);
    text-decoration: none;
}

.card {
    border: 0;
    box-shadow: 0 0 0 0 rgba(76, 87, 125, 0) !important;
}

.card-rsvp {
    border-radius: 40px 40px 5px 5px !important;
    color: var(--tone-color-6) !important;
}

.card-wish {
    border-radius: 6rem 1rem 1rem 1rem !important;
    color: var(--tone-color-6) !important;
}


.gift-icon-color{
    color: var(--tone-color-6) !important;
}


/* Base class untuk semua custom icon Anda */
.icon {
    display: inline-block;
    width: 1em;  /* Mengikuti ukuran font induk */
    height: 1em; /* Mengikuti ukuran font induk */
    background-color: currentColor; /* Otomatis mengikuti properti 'color' teks */

    /* Pengaturan Masking agar kompatibel dengan berbagai browser */
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;

    /* Sedikit penyesuaian agar posisi icon sejajar dengan baseline teks */
    vertical-align: -0.125em;
}

.icon-rsvp {
    -webkit-mask-image: url('/themes/eternal-noir/img/rsvp-icon.svg');
    mask-image: url('/themes/eternal-noir/img/rsvp-icon.svg');
}

#countdown small.text-size-caption {
    color: white;
}

#cover #countdown .text-size-content {
    font-size: var(--font4) !important;
}

#sosmed-1 .btn-icon.btn-primary,
#sosmed-2 .btn-icon.btn-primary {
    background-color: var(--bg-primary) !important;
}

#gallery .row > * {
    padding-right: calc(0.5rem * 0.5);
    padding-left: calc(0.5rem * 0.5);
    margin-top: 0.5rem;
}

.card-ig-story{
    border-radius: 10px 50px 50px 50px;
}

.no-gutter-footer .row {
    --bs-gutter-x: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}
.svg-icon.svg-icon-light [fill]:not(.permanent):not(g) {
    fill: white !important;
}


hr {
    margin: 1rem 0;
    color: inherit;
    background-color: currentColor;
    border: 0;
    opacity: 0.25;
}

hr:not([size]) {
    height: 1px;
}
.bar-left {
    flex: 1;
    height: 40px;
    background-color: var(--tone-color-3);
    border-radius: 1.25rem 0 1.25rem 0 !important; /* Lengkung sudut Kiri-Atas & Kanan-Bawah */
    margin-top: 14px; /* Offset ke bawah */
}

.bar-right {
    flex: 1;
    height: 40px;
    background-color: var(--tone-color-2);
    border-radius: 1.25rem 0 1.25rem 0 !important; /* Lengkung sudut Kiri-Atas & Kanan-Bawah */
    margin-bottom: 14px; /* Offset ke atas */
}


@media screen and (max-width: 378px) and (max-height: 668px) {

    #cover .title,
    #modalInvitation .title {
        font-size: calc(var(--font1)) !important;
    }

}

#prokes .bg-primary {
    background-color: var(--tone-color-3) !important;
}

#footer .text-primary {
    color: var(--tone-color-2) !important;
}

.scrolltop {
    background-color: var(--tone-color-2) !important;
}

#mitra-container {
    color: white !important;
    margin-bottom: 0 !important;
    background: transparent !important;
}

#mitra-container .text-dark,
#mitra-container .bi-geo-alt-fill {
    color: white !important;
}

.container-limited-event{
    justify-content: unset !important;
}

#limited-event{
    background-color: transparent;
    border-color: var(--tone-color-4) !important;
}