/* ==========================================================================
   FAQ Page Styles - Clayworks Website
   Hero and Accordion styles
   ========================================================================== */

/* =========================================================================
   FAQ HERO SECTION
   ========================================================================= */

.faq-hero {
    background: var(--color-purple-mid);
    padding: var(--space-faq-hero) var(--page-padding) var(--space-4xl);
    text-align: center;
}

.faq-hero-title {
    font-family: var(--font-display);
    font-size: var(--text-display-xl);
    font-weight: 400;
    color: var(--color-cream);
    margin-bottom: var(--space-md);
    line-height: 1.2;
    letter-spacing: 0.2px;
}

.faq-hero-title .italic {
    font-style: italic;
}

.faq-hero-subtitle {
    font-family: var(--font-body);
    font-size: var(--text-lg);
    font-weight: 400;
    color: var(--color-cream);
    line-height: 1.4;
    max-width: 500px;
    margin: 0 auto;
    letter-spacing: 0.2px;
}

.faq-hero-subtitle a {
    color: var(--color-cream);
    text-decoration: underline var(--color-cream);
    transition: color 0.2s ease;
    text-underline-offset: 2px;
}

.faq-hero-subtitle a:hover {
    color: var(--color-accent);
    text-decoration: underline var(--color-cream);
}

/* =========================================================================
   FAQ SECTION
   ========================================================================= */

.faq-section {
    background: var(--color-cream-darker);
    padding: var(--space-4xl) var(--page-padding);
}

/* =========================================================================
   ACCORDION CONTAINER
   ========================================================================= */

.accordion-container {
    max-width: var(--max-width);
    margin: 0 auto;
    border-top: 3px solid var(--color-text-dark);
    border-bottom: 3px solid var(--color-text-dark);
}

/* =========================================================================
   PRIMARY ACCORDION (Section Headers)
   ========================================================================= */

.accordion-primary {
    position: relative;
    font-family: var(--font-display);
    font-size: var(--text-display-xl);
    font-weight: 400;
    color: var(--color-accent);
    padding: var(--space-accordion) 20px var(--space-accordion) 0;
    border-bottom: 2px solid var(--color-text-dark);
    margin: 0;
    letter-spacing: var(--letter-spacing-body);
}

/* Border above primary sections (except first) */
.accordion-primary-content + .accordion-primary {
    border-top: 3px solid var(--color-text-dark);
}

/* Primary accordion content wrapper */
.accordion-primary-content {
    overflow: visible;
    max-height: none;
}

/* =========================================================================
   SECONDARY ACCORDION (Individual FAQ Items)
   ========================================================================= */

.accordion-secondary {
    position: relative;
    font-family: var(--font-display);
    font-size: var(--text-display-sm);
    font-weight: 400;
    color: var(--color-text-dark);
    border-top: 2px solid var(--color-text-dark);
    cursor: pointer;
    padding: var(--space-accordion) var(--space-2xl) var(--space-accordion) 60px;
    margin: 0;
    list-style: none;
    transition: color 0.2s ease;
    letter-spacing: var(--letter-spacing-body);
}

/* First secondary item doesn't need top border (primary has bottom border) */
.accordion-primary-content > .accordion-secondary:first-of-type {
    border-top: none;
}

.accordion-secondary:hover {
    color: var(--color-accent);
}

/* Bullet point */
.accordion-secondary::before {
    content: '•';
    position: absolute;
    left: 30px;
    color: var(--color-text-dark);
}

.accordion-secondary:hover::before {
    color: var(--color-accent);
}

/* Plus/Minus icon */
.accordion-secondary::after {
    content: '+';
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%) scale(1);
    font-size: clamp(2.9rem, 5.85vw, 3.9rem);
    font-weight: 400;
    font-family: var(--font-body);
    transition: transform var(--transition-bounce),
                color 0.2s ease;
    color: var(--color-text-dark);
}

.accordion-secondary:hover::after {
    color: var(--color-accent);
    transform: translateY(-50%) scale(1.1);
}

.accordion-secondary.active::after {
    content: '−';
    transform: translateY(-50%) scale(1) rotate(180deg);
}

.accordion-secondary.active:hover::after {
    transform: translateY(-50%) scale(1.1) rotate(180deg);
}

/* =========================================================================
   SECONDARY ACCORDION CONTENT
   ========================================================================= */

.accordion-secondary-content {
    overflow: hidden;
    max-height: 0;
    transition: max-height var(--transition-smooth), 
                opacity var(--transition-base);
    padding-left: 50px;
    opacity: 0;
}

.accordion-secondary-content.open {
    opacity: 1;
}

.accordion-secondary-content-inner {
    padding: var(--space-2xs) 60px var(--space-md) 30px;
    transform: translateY(-8px);
    transition: transform var(--transition-bounce);
}

.accordion-secondary-content.open .accordion-secondary-content-inner {
    transform: translateY(0);
}

/* Custom scrollbar */
.accordion-secondary-content-inner::-webkit-scrollbar {
    width: 6px;
}

.accordion-secondary-content-inner::-webkit-scrollbar-track {
    background: transparent;
}

.accordion-secondary-content-inner::-webkit-scrollbar-thumb {
    background: var(--color-text-dark);
    border-radius: 3px;
}

.accordion-secondary-content-inner::-webkit-scrollbar-thumb:hover {
    background: var(--color-accent);
}

/* =========================================================================
   ACCORDION CONTENT TYPOGRAPHY
   ========================================================================= */

.accordion-secondary-content p {
    font-family: var(--font-body);
    font-size: var(--text-lg);
    font-weight: 400;
    line-height: 1.4;
    color: var(--color-text-dark);
    margin: 0 0 var(--space-sm) 0;
    letter-spacing: 0.2px;
}

.accordion-secondary-content p:last-child {
    margin-bottom: 0;
}

.accordion-secondary-content strong {
    font-weight: 600;
}

.accordion-secondary-content ol {
    font-family: var(--font-body);
    font-size: var(--text-lg);
    font-weight: 400;
    line-height: 1.7;
    color: var(--color-text-dark);
    margin: var(--space-sm) 0;
    padding-left: var(--space-md);
    letter-spacing: 0.2px;
    list-style: decimal;
}

.accordion-secondary-content ol li {
    margin-bottom: var(--space-xs);
}

.accordion-secondary-content ul {
    font-family: var(--font-body);
    font-size: var(--text-lg);
    font-weight: 400;
    line-height: 1.4;
    color: var(--color-text-dark);
    margin: var(--space-sm) 0;
    padding-left: var(--space-md);
    letter-spacing: 0.2px;
    list-style: disc;
}

.accordion-secondary-content ul li {
    margin-bottom: var(--space-xs);
}

.accordion-secondary-content a {
    color: var(--color-accent);
    text-decoration: underline var(--color-text-dark);
    transition: color 0.2s ease;
    text-underline-offset: 2px;
}

.accordion-secondary-content a:hover {
    color: var(--color-text-dark);
    text-decoration: underline var(--color-text-dark);
}

/* =========================================================================
   ACCORDION IMAGES
   ========================================================================= */

.accordion-secondary-content img {
    max-width: 60%;
    min-width: 320px;
    height: auto;
    margin: var(--space-md) auto;
    border-radius: var(--border-radius-md);
    display: block;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

.accordion-secondary-content img.no-shadow {
    box-shadow: none;
}

/* =========================================================================
   RESPONSIVE - MOBILE (max-width: 768px)
   ========================================================================= */

@media (max-width: 768px) {
    .faq-hero {
        padding: var(--space-6xl) var(--page-padding-mobile) var(--space-3xl);
    }
    
    .faq-section {
        padding: var(--space-2xl) var(--page-padding-mobile);
    }
    
    .accordion-primary {
        padding-left: 0;
        padding-right: 0;
    }
    
    .accordion-secondary {
        padding-left: 40px;
        padding-right: var(--space-xl);
    }
    
    .accordion-secondary::before {
        left: 20px;
    }
    
    .accordion-secondary-content {
        padding-left: 40px;
    }
}

/* =========================================================================
   RESPONSIVE - SMALL MOBILE (max-width: 600px)
   ========================================================================= */

@media (max-width: 600px) {
    .accordion-secondary-content img {
        max-width: 100%;
        min-width: unset;
    }
}
