/**
 * InvitKeun — polesan premium universal (semua template undangan)
 */

/* ——— Section & konten ——— */
.section-eyebrow {
    font-weight: 500;
}

.inv-section__inner,
.section-inner {
    width: 100%;
    max-width: var(--inv-section-max, min(56rem, calc(100% - 2rem)));
    margin-inline: auto;
    box-sizing: border-box;
}

.section-heading-block {
    text-align: center;
    margin-inline: auto;
}

/* ——— Kartu & interaksi ——— */
.event-card,
.gift-card,
.premium-couple-card,
.guestbook-compose {
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.06);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.cover-open-btn {
    letter-spacing: 0.12em;
}

.inv-footer-thanks__title {
    letter-spacing: 0.08em;
}

/* ——— Mempelai ——— */
#couple .inv-couple-grid {
    width: 100%;
    justify-items: stretch;
    align-items: center !important;
}

#couple .couple-center-glow {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--primary-rgb, 61, 107, 79), 0.08);
    border: 1px solid rgba(var(--primary-rgb, 61, 107, 79), 0.14);
    box-shadow: 0 8px 24px rgba(var(--primary-rgb, 61, 107, 79), 0.1);
    margin-inline: auto;
}

#couple .premium-couple-card {
    width: 100%;
    max-width: none;
    margin-inline: auto;
}

#couple .couple-profile-card p {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* ——— Acara & galeri ——— */
.inv-events-grid {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
}

.event-card,
.gift-card {
    width: 100%;
    min-width: 0;
}

.invitation-gallery-grid {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
}

/* ——— Layout variants ——— */
.layout-cards .section-flow .inv-section__inner {
    padding-inline: clamp(0.85rem, 3.5vw, 1.35rem);
}

.layout-cinematic .premium-couple-card {
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.layout-editorial .section-heading-block {
    text-align: center;
}

/* ——— Navigasi mengambang ——— */
#floatNavDock {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    padding-inline: max(0.75rem, env(safe-area-inset-left, 0px)) max(0.75rem, env(safe-area-inset-right, 0px));
    box-sizing: border-box;
}

#floatNav {
    margin-inline: auto !important;
    max-width: min(26rem, calc(100% - 1rem));
}

.footer-safe,
.inv-footer-thanks {
    padding-bottom: calc(var(--inv-section-pad-y, 1.75rem) + var(--inv-float-nav-clearance, calc(5.5rem + env(safe-area-inset-bottom, 0px)))) !important;
}

#hero .hero-pattern__content {
    padding-inline: clamp(1rem, 4vw, 1.5rem);
}

/* ——— Scroll ——— */
html.invitation-page,
body.invitation-fluid {
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    overflow-x: hidden;
}

body.invitation-fluid #mainContent,
body.invitation-fluid .inv-main-content {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

/* ——— Mobile ——— */
@media (max-width: 767px) {
    .section-flow {
        padding-inline: 0;
    }

    .event-card:hover,
    .gift-card:hover,
    .premium-couple-card:hover {
        transform: none;
    }

    #couple .couple-avatar {
        width: 8.5rem !important;
        height: 8.5rem !important;
    }

    .countdown-flow {
        gap: 0.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .event-card,
    .gift-card,
    .premium-couple-card,
    .cover-open-btn {
        transition: none !important;
    }
}
