/* ═══════════════════════════════════════════════════════════
 *  Responsive — Media queries, mobile-safe, ultra-safe overrides
 *  @module wp-responsive.css
 * ═══════════════════════════════════════════════════════════ */

@media (max-width: 1024px) {
    .wedding-portal__player-frame {
        grid-template-columns: 1fr;
        grid-template-rows: 1.05fr auto;
    }

    .wedding-portal__player-meta {
        padding-top: 18px;
    }
}

@media (max-width: 900px) {
    .wedding-portal__invitation-inner {
        gap: 16px;
        padding: 42px 28px 38px;
    }

    .wedding-portal__player-title {
        font-size: clamp(1.9rem, 7vw, 2.7rem);
    }

    .wedding-portal__thumb-title {
        font-size: 1.26rem;
    }

    .wedding-portal__form-title {
        font-size: clamp(2rem, 9vw, 3.2rem);
    }

    .wedding-portal__form-shell {
        padding: 34px 28px 30px;
    }
}

@media (max-width: 640px) {
    .wedding-portal__title {
        max-width: 10ch;
        font-size: clamp(2.4rem, 12vw, 3.8rem);
    }

    .wedding-portal__copy,
    .wedding-portal__player-copy,
    .wedding-portal__form-copy {
        font-size: 0.94rem;
        line-height: 1.65;
    }

    .wedding-portal__cursor {
        display: none;
    }

    .wedding-portal__player-meta {
        gap: 10px;
        padding: 22px 20px 24px;
    }

    .wedding-portal__form-shell {
        gap: 18px;
        padding: 28px 22px 24px;
    }

    .wedding-portal__form-submit,
    .wedding-portal__inquiry-button {
        width: 100%;
        justify-content: center;
    }

    .wedding-portal__thumb-duration {
        top: 14px;
        right: 16px;
    }

    .wedding-portal__thumb-meta {
        left: 16px;
        right: 16px;
        bottom: 16px;
    }
}

@media (pointer: coarse) {
    body.wedding-portal-active {
        cursor: auto;
    }
}

.wedding-portal.wedding-portal--mobile-safe [data-wedding-cursor] {
    display: none !important;
}

.wedding-portal.wedding-portal--mobile-safe .wedding-portal__backdrop {
    filter: blur(calc(10px * (var(--wp-portal-backdrop-blur-strength, 100) / 100))) saturate(0.98);
    opacity: 0.9;
}

.wedding-portal.wedding-portal--mobile-safe .wedding-portal__grain {
    opacity: 0.12;
}

.wedding-portal.wedding-portal--mobile-safe .wedding-portal__card-glare {
    display: none;
}

.wedding-portal.wedding-portal--mobile-safe .wedding-portal__petals {
    display: none !important;
}

.wedding-portal.wedding-portal--mobile-safe[data-wedding-portal],
.wedding-portal.wedding-portal--mobile-safe [data-invitation] {
    touch-action: none;
    -webkit-tap-highlight-color: transparent;
}

.wedding-portal.wedding-portal--ultra-safe-mobile [data-wedding-cursor],
.wedding-portal.wedding-portal--ultra-safe-mobile .wedding-portal__petals,
.wedding-portal.wedding-portal--ultra-safe-mobile .wedding-portal__grain,
.wedding-portal.wedding-portal--ultra-safe-mobile .wedding-portal__vignette,
.wedding-portal.wedding-portal--ultra-safe-mobile .wedding-portal__card-glare,
.wedding-portal.wedding-portal--ultra-safe-mobile [data-card-shadow] {
    display: none !important;
}

.wedding-portal.wedding-portal--ultra-safe-mobile .wedding-portal__backdrop,
.wedding-portal.wedding-portal--ultra-safe-mobile .wedding-portal__atmosphere-item img,
.wedding-portal.wedding-portal--ultra-safe-mobile .wedding-portal__invitation,
.wedding-portal.wedding-portal--ultra-safe-mobile .wedding-portal__card-shell,
.wedding-portal.wedding-portal--ultra-safe-mobile .wedding-portal__paper-shape,
.wedding-portal.wedding-portal--ultra-safe-mobile .wedding-portal__invitation-inner::before,
.wedding-portal.wedding-portal--ultra-safe-mobile .wedding-portal__form-shell::before {
    filter: none !important;
    backdrop-filter: none !important;
}

.wedding-portal.wedding-portal--ultra-safe-mobile .wedding-portal__atmosphere-item img,
.wedding-portal.wedding-portal--ultra-safe-mobile .wedding-portal__invitation,
.wedding-portal.wedding-portal--ultra-safe-mobile .wedding-portal__card-shell,
.wedding-portal.wedding-portal--ultra-safe-mobile .wedding-portal__backdrop {
    animation: none !important;
    transition: none !important;
}

.wedding-portal.wedding-portal--mobile-safe .wedding-portal__invitation,
.wedding-portal.wedding-portal--mobile-safe .wedding-portal__card-shell,
.wedding-portal.wedding-portal--mobile-safe .wedding-portal__card-shadow {
    transition: none !important;
    animation: none !important;
}

