/* ================================
   Celebrate Vows - Custom Styles
   ================================ */

body {
    background-color: #FDFBF7;
    color: #042351;
    -webkit-font-smoothing: antialiased;
}

/* Floating label inputs */
.floating-input {
    display: block;
    width: 100%;
    appearance: none;
    border: 0;
    border-bottom: 1px solid rgba(4, 35, 81, 0.3);
    background-color: transparent;
    padding: 0.75rem 0;
    color: #042351;
    transition: border-color 0.3s;
}

.floating-input:focus {
    outline: none;
    border-bottom-color: #042351;
}

/* Hide scrollbar for slider */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Scroll Animation Utility Classes */
.animate-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.animate-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Accordion transition fix */
details>summary {
    list-style: none;
}

details>summary::-webkit-details-marker {
    display: none;
}

/* Enhanced focus visibility for accessibility */
*:focus-visible {
    outline: 2px solid #C5A880;
    outline-offset: 2px;
}

/* Ensure sufficient contrast for light text on cream */
.text-contrast-safe {
    color: rgba(4, 35, 81, 0.75);
}
