/* Riverside Psychology — Theme CSS */

.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24;
    vertical-align: middle;
}

/* Gradients */
.hero-gradient {
    background:
        linear-gradient(180deg, rgba(186,230,253,1.0) 0%, rgba(250,249,246,0.85) 100%),
        url('/wp-content/uploads/2026/04/riverside-hero-background-image.png') center/cover no-repeat;
}
.cta-gradient  { background: linear-gradient(135deg, #031636 0%, #0a2558 100%); }

/* Hero entrance animations */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(22px); }
    to   { opacity: 1; transform: translateY(0); }
}
.hero-badge { animation: fadeUp 0.6s cubic-bezier(0.22,1,0.36,1) 0.05s both; }
.hero-h1    { animation: fadeUp 0.7s cubic-bezier(0.22,1,0.36,1) 0.2s  both; }
.hero-body  { animation: fadeUp 0.7s cubic-bezier(0.22,1,0.36,1) 0.35s both; }
.hero-cta   { animation: fadeUp 0.7s cubic-bezier(0.22,1,0.36,1) 0.5s  both; }

/* Scroll reveal */
.reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.7s cubic-bezier(0.22,1,0.36,1), transform 0.7s cubic-bezier(0.22,1,0.36,1);
}
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-d1 { transition-delay: 0.08s; }
.reveal-d2 { transition-delay: 0.16s; }
.reveal-d3 { transition-delay: 0.24s; }
.reveal-d4 { transition-delay: 0.32s; }

/* Accordion */
.accordion-content {
    height: 0;
    overflow: hidden;
    transition: height 0.25s cubic-bezier(0.22,1,0.36,1);
}
.accordion-plus-v {
    transform-box: fill-box;
    transform-origin: center;
    transition: transform 0.2s ease, opacity 0.2s ease;
}
.accordion-item.active .accordion-plus-v {
    transform: rotate(90deg);
    opacity: 0;
}

/* Nav underline */
.nav-link { position: relative; }
.nav-link::after {
    content: '';
    position: absolute;
    left: 0; bottom: -3px;
    width: 0; height: 1px;
    background: #031636;
    transition: width 0.25s cubic-bezier(0.22,1,0.36,1);
}
.nav-link:hover::after { width: 100%; }

/* Active nav */
.nav-link-active { color: #1470AF !important; font-weight: 600; }
.nav-link-active::after { width: 100%; background: #1470AF; }

/* Dropdown */
.nav-dropdown-trigger { position: relative; }
.nav-dropdown {
    position: absolute;
    top: calc(100% + 14px);
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    min-width: 220px;
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 20px 60px rgba(3,22,54,0.12);
    padding: 0.375rem;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.18s ease, visibility 0.18s ease, transform 0.18s ease;
    z-index: 100;
}
.nav-dropdown-trigger:hover .nav-dropdown,
.nav-dropdown-trigger:focus-within .nav-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}
.nav-dropdown a {
    display: block;
    padding: 0.6rem 0.875rem;
    border-radius: 0.5rem;
    color: #031636;
    font-family: 'Radio Canada Big', sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    transition: background 0.15s, color 0.15s;
    white-space: nowrap;
}
.nav-dropdown a:hover { background: #f7f5f2; color: #1470AF; }

/* Testimonial dots */
.testimonial-dot {
    height: 0.375rem;
    width: 0.375rem;
    border-radius: 9999px;
    background-color: rgba(3, 22, 54, 0.2);
    border: none;
    cursor: pointer;
    transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
    padding: 0;
}
.testimonial-dot.active {
    width: 1.5rem;
    background-color: #031636;
}
