/* PA Property Rescue - Custom Styles */

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Floating call button pulse */
.pulse-slow {
    animation: pulse-slow 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse-slow {
    0%, 100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.5); }
    50% { box-shadow: 0 0 0 12px rgba(220, 38, 38, 0); }
}

/* FAQ accordion transition */
.faq-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
}
.faq-content.open {
    max-height: 500px;
}
.faq-toggle .fa-chevron-down {
    transition: transform 0.3s ease;
}
.faq-toggle.active .fa-chevron-down {
    transform: rotate(180deg);
}

/* Navbar shadow on scroll */
#navbar.scrolled {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

/* Hero gradient text fallback */
@supports not (background-clip: text) {
    .text-transparent.bg-clip-text {
        color: #f87171;
    }
}

/* Form focus styles */
input:focus, select:focus, textarea:focus {
    outline: none;
}

/* Image hover zoom for SS approvals */
.grid img:hover {
    transform: scale(1.02);
    transition: transform 0.3s ease;
}

/* Service card hover lift */
.group:hover {
    transform: translateY(-4px);
}

/* Progress bar animation */
@keyframes growWidth {
    from { width: 0; }
}
.animate-bar {
    animation: growWidth 1.5s ease-out;
}

/* Breadcrumb styles */
.breadcrumb-nav {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
}

/* Select dropdown arrow color fix */
select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%239ca3af'%3E%3Cpath fill-rule='evenodd' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z' clip-rule='evenodd'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 20px;
    padding-right: 40px;
}

/* Loading state for form submit */
button[type="submit"]:active {
    transform: scale(0.98);
}

/* Mobile menu animation */
#mobile-menu {
    transition: max-height 0.3s ease;
}

/* Success message flash */
.success-flash {
    animation: flashGreen 0.5s ease;
}
@keyframes flashGreen {
    0% { background-color: #dcfce7; }
    100% { background-color: transparent; }
}
