/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Description: Child theme for Astra
Author: Your Name
Template: astra
Version: 1.0.0
Text Domain: astra-child
*/

/* ======================================
   PROGRAM DETAILS PAGE STYLING
   ====================================== */

/* Program page body surface (below banner) */
body.single-program .program-page-surface {
    max-width: 1280px;
    margin: 18px auto;
    padding: 24px;
    border-radius: 10px;
    background: #ffffff;
}

@media (max-width: 768px) {
    body.single-program .program-page-surface {
        margin: 10px 10px 14px;
        padding: 16px;
        border-radius: 8px;
    }
}

body.single-program .program-section {
    max-width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
}

.program-section .wp-block-group {
    margin-bottom: 0;
}

/* Hero Section Enhancement */
.wp-block-cover {
    margin-bottom: 0 !important;
}

.wp-block-cover .wp-block-cover__inner-container {
    padding: 3rem 1.5rem;
}

/* Heading Improvements */
.program-section h2 {
    margin-bottom: 1.5rem;
    line-height: 1.2;
}

.program-section h3 {
    margin-bottom: 1rem;
    line-height: 1.3;
}

.program-section h4 {
    margin-bottom: 0.75rem;
}

/* Paragraph Spacing */
.program-section p {
    margin-bottom: 1.25rem;
}

/* List Styling Enhancement */
.program-section ul {
    list-style: none;
    padding-left: 0;
}

.program-section ul li {
    padding-left: 1.75rem;
    margin-bottom: 0.75rem;
    position: relative;
    line-height: 1.6;
}

.program-section ul li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #EAC81F;
    font-weight: 700;
    font-size: 1.2rem;
}

/* Two Column Layout Enhancement */
.wp-block-columns {
    gap: 2rem !important;
}

.wp-block-column {
    padding: 1.5rem;
}

/* Card Styling Enhancement */
.wp-block-group.has-surface-background-color,
.wp-block-group.has-background {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.wp-block-group.has-surface-background-color:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

/* Three Column Cards Grid */
.wp-block-columns.alignwide {
    margin-top: 2rem;
}

/* Button Styling Enhancement */
.wp-block-button__link {
    padding: 0.875rem 2rem !important;
    font-size: 1.125rem !important;
    border-radius: 4px;
    transition: all 0.3s ease;
    text-decoration: none !important;
}

.wp-block-button__link:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.has-action-background-color {
    background-color: #EAC81F !important;
}

.has-action-color {
    color: #EAC81F !important;
}

/* Buttons Container */
.wp-block-buttons {
    margin: 2rem 0;
}

/* Testimonials Section */
.wp-block-group.alignwide {
    padding: 3rem 1.5rem;
}

/* Testimonials - Use Elevated Text Colors (White/Light) */
/* Base white color for all testimonial elements */
.wp-block-group.has-surface-background-color .testimonial,
.wp-block-group.has-surface-background-color .testimonials-wrapper,
.wp-block-group.has-surface-background-color .strong-testimonials-wrapper,
.wp-block-group.has-surface-background-color [class*="testimonial"],
.wp-block-group .testimonial,
.wp-block-group .testimonials-wrapper,
.wp-block-group .strong-testimonials-wrapper,
.wp-block-group [class*="testimonial"],
.wp-block-group.has-surface-background-color .strong-view,
.wp-block-group .strong-view,
.wp-block-group.has-surface-background-color .strong-content,
.wp-block-group .strong-content,
.testimonials-carousel-wrapper,
.testimonials-carousel,
.carousel-slide,
.carousel-media {
    color: #F2F2F2 !important;
}

/* All children elements default to white */
.wp-block-group [class*="testimonial"] *,
.wp-block-group [class*="strong-"] *,
.wp-block-group .testimonial *,
.wp-block-group.has-surface-background-color [class*="testimonial"] *,
.wp-block-group.has-surface-background-color [class*="strong-"] *,
.wp-block-group.has-surface-background-color .testimonial *,
.wp-block-group .strong-view *,
.wp-block-group .strong-content *,
.wp-block-group.has-surface-background-color .strong-view *,
.wp-block-group.has-surface-background-color .strong-content *,
.testimonials-carousel-wrapper *,
.testimonials-carousel *,
.carousel-slide *,
.carousel-slide p,
.carousel-media p,
.carousel-slide div p {
    color: #F2F2F2 !important;
}

.wp-block-group.has-surface-background-color .testimonial h1,
.wp-block-group.has-surface-background-color .testimonial h2,
.wp-block-group.has-surface-background-color .testimonial h3,
.wp-block-group.has-surface-background-color .testimonial h4,
.wp-block-group.has-surface-background-color .testimonial h5,
.wp-block-group.has-surface-background-color .testimonial h6,
.wp-block-group .testimonial h1,
.wp-block-group .testimonial h2,
.wp-block-group .testimonial h3,
.wp-block-group .testimonial h4,
.wp-block-group .testimonial h5,
.wp-block-group .testimonial h6,
.wp-block-group [class*="testimonial"] h1,
.wp-block-group [class*="testimonial"] h2,
.wp-block-group [class*="testimonial"] h3,
.wp-block-group [class*="testimonial"] h4,
.wp-block-group [class*="testimonial"] h5,
.wp-block-group [class*="testimonial"] h6 {
    color: #F2F2F2 !important;
}

.wp-block-group.has-surface-background-color .testimonial p,
.wp-block-group.has-surface-background-color .testimonials-wrapper p,
.wp-block-group.has-surface-background-color .strong-testimonials-wrapper p,
.wp-block-group .testimonial p,
.wp-block-group .testimonials-wrapper p,
.wp-block-group .strong-testimonials-wrapper p,
.wp-block-group [class*="testimonial"] p {
    color: #F2F2F2 !important;
}

.wp-block-group.has-surface-background-color .testimonial .testimonial-author,
.wp-block-group.has-surface-background-color .testimonial .testimonial-name,
.wp-block-group.has-surface-background-color .testimonial cite,
.wp-block-group .testimonial .testimonial-author,
.wp-block-group .testimonial .testimonial-name,
.wp-block-group .testimonial cite,
.wp-block-group [class*="testimonial"] .testimonial-author,
.wp-block-group [class*="testimonial"] .testimonial-name,
.wp-block-group [class*="testimonial"] cite {
    color: #F2F2F2 !important;
    font-weight: 600;
}

.wp-block-group.has-surface-background-color .testimonial .testimonial-title,
.wp-block-group.has-surface-background-color .testimonial .testimonial-position,
.wp-block-group .testimonial .testimonial-title,
.wp-block-group .testimonial .testimonial-position,
.wp-block-group [class*="testimonial"] .testimonial-title,
.wp-block-group [class*="testimonial"] .testimonial-position,
.wp-block-group [class*="testimonial"] [class*="position"],
.wp-block-group [class*="testimonial"] [class*="company"],
.wp-block-group [class*="testimonial"] [class*="role"],
.wp-block-group.has-surface-background-color [class*="testimonial"] [class*="position"],
.wp-block-group.has-surface-background-color [class*="testimonial"] [class*="company"],
.wp-block-group.has-surface-background-color [class*="testimonial"] [class*="role"],
.wp-block-group .strong-view [class*="position"],
.wp-block-group .strong-view [class*="company"],
.wp-block-group.has-surface-background-color .strong-view [class*="position"],
.wp-block-group.has-surface-background-color .strong-view [class*="company"],
.carousel-slide p[style*="0.85"],
.carousel-slide p[style*="rgba(255, 255, 255, 0.85)"] {
    color: #B2B2B2 !important;
    font-size: 0.875rem;
}

.wp-block-group.has-surface-background-color .testimonial blockquote,
.wp-block-group .testimonial blockquote,
.wp-block-group [class*="testimonial"] blockquote {
    color: #F2F2F2 !important;
    border-left-color: #EAC81F !important;
}

/* Standalone Testimonial Carousel Styles */
.testimonials-carousel-wrapper,
.testimonials-carousel,
.carousel-slide,
.carousel-media {
    color: #F2F2F2 !important;
}

.testimonials-carousel-wrapper *,
.testimonials-carousel *,
.carousel-slide *,
.carousel-slide p,
.carousel-media p,
.carousel-slide div p {
    color: #F2F2F2 !important;
}

/* Force white color on all carousel paragraphs with any inline style */
.carousel-slide p[style],
.carousel-media p[style],
.carousel-slide div p[style] {
    color: #fff !important;
}

/* Muted text for position/role in carousel */
.carousel-slide p[style*="rgba(255, 255, 255, 0.85)"] {
    color: rgba(255, 255, 255, 0.85) !important;
}

/* FAQ Accordion Enhancement */
.wp-block-details {
    border: 1px solid #E5E5E5;
    border-radius: 6px;
    margin-bottom: 1rem;
    padding: 1.25rem;
    background: #FFFFFF;
    transition: all 0.3s ease;
}

.wp-block-details:hover {
    border-color: #EAC81F;
    box-shadow: 0 2px 8px rgba(234, 200, 31, 0.1);
}

.wp-block-details summary {
    cursor: pointer;
    font-weight: 600;
    font-size: 1.125rem;
    color: #13263A;
    margin-bottom: 0;
}

.wp-block-details[open] summary {
    margin-bottom: 1rem;
    color: #EAC81F;
}

/* CTA Block Enhancement */
.wp-block-group.has-surface-background-color.alignwide {
    border: 2px solid #E5E5E5;
    background: linear-gradient(135deg, #F9F9F9 0%, #F2F2F2 100%);
}

/* Stats/Outcomes Lists */
.program-section .wp-block-group ul li {
    font-size: 1.05rem;
    padding: 0.5rem 0 0.5rem 2rem;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .wp-block-cover .wp-block-cover__inner-container {
        padding: 2rem 1rem;
    }
    
    .wp-block-cover h1 {
        font-size: 2rem !important;
    }
    
    .wp-block-columns {
        gap: 1rem !important;
    }
    
    .wp-block-column {
        padding: 1rem;
    }
    
    .wp-block-button__link {
        padding: 0.75rem 1.5rem !important;
        font-size: 1rem !important;
    }
    
    .program-section h2 {
        font-size: 1.75rem !important;
    }
}

/* Spacer Consistency */
.wp-block-spacer {
    margin: 0;
}

/* Image Styling */
.wp-block-image img {
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Video Embed Styling */
.wp-block-embed {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.wp-block-embed__wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
}

.wp-block-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Program Levels Cards - Special Border */
.wp-block-group[style*="border-color"] {
    border-style: solid !important;
}

/* Quote/Testimonial Styling */
.program-section blockquote,
.program-section p[style*="italic"] {
    border-left: 4px solid #EAC81F;
    padding-left: 1.5rem;
    font-style: italic;
    color: #364049;
    margin: 2rem 0;
}

/* ======================================
   ELEVATED CARD STYLING
   ====================================== */

/* Elevated Cards (Dark Background) */
.wp-block-group.has-elevated-background-color {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

.wp-block-group.has-elevated-background-color:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(234, 200, 31, 0.15);
}

/* Ensure text is readable on elevated backgrounds */
.wp-block-group.has-elevated-background-color h1,
.wp-block-group.has-elevated-background-color h2,
.wp-block-group.has-elevated-background-color h3,
.wp-block-group.has-elevated-background-color h4,
.wp-block-group.has-elevated-background-color h5,
.wp-block-group.has-elevated-background-color h6 {
    color: #F2F2F2;
}

.wp-block-group.has-elevated-background-color p {
    color: #B2B2B2;
}

/* Make action color titles stand out on dark background */
.wp-block-group.has-elevated-background-color .has-action-color {
    color: #EAC81F;
    font-weight: 700;
}

/* Elevated text color (light) on dark backgrounds */
.has-elevated-text-color {
    color: #F2F2F2 !important;
}

.has-elevated-text-muted-color {
    color: #B2B2B2 !important;
}

/* Elevated card hover interaction */
.wp-block-group.has-elevated-background-color .wp-block-button__link {
    transition: all 0.3s ease;
}

.wp-block-group.has-elevated-background-color .wp-block-button__link:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(234, 200, 31, 0.2);
}

/* Ensure elevated cards look premium */
.wp-block-columns > .wp-block-column > .wp-block-group.has-elevated-background-color {
    border-radius: 8px;
    overflow: hidden;
}

/* Alternate between light and dark sections for visual interest */
.wp-block-group.has-elevated-background-color + .wp-block-group.has-surface-background-color,
.wp-block-group.has-surface-background-color + .wp-block-group.has-elevated-background-color {
    margin-top: 1rem;
}

/* Highlighted Stats/Numbers */
.program-section h3[style*="3rem"] {
    text-shadow: 2px 2px 4px rgba(234, 200, 31, 0.2);
}

/* Smooth Transitions */
* {
    transition: color 0.2s ease, background-color 0.2s ease;
}

/* Hero Overlay Enhancement */
.wp-block-cover .wp-block-cover__background {
    opacity: 0.6 !important;
}

/* Stronger Visual Hierarchy */
.program-section > .wp-block-group:first-child {
    margin-top: 0;
}

.program-section > .wp-block-group:last-child {
    margin-bottom: 0;
}

/* Week Availability Styling */
.program-week-item.locked {
    opacity: 0.6;
    background-color: rgba(200, 200, 200, 0.1);
    padding: 20px;
    border-radius: 4px;
    border-left: 4px solid #999;
}

.program-week-item.locked .program-week-title {
    color: #666;
}

.program-week-item.locked .program-days {
    pointer-events: none;
}

.program-week-item.locked .program-days li a {
    color: #999;
    text-decoration: line-through;
    cursor: not-allowed;
}

.program-week-item.locked .program-days li a:hover {
    color: #999;
}

.week-locked-message {
    font-style: italic;
    color: #666;
    margin: 10px 0;
    padding: 10px;
    background-color: rgba(255, 200, 0, 0.1);
    border-left: 3px solid #ffc800;
    padding-left: 15px;
}

/* ======================================
   DECORATIVE DIVIDERS
   ====================================== */

/* Base divider styles */
.fit-divider {
    margin: 0;
    padding: 0 !important;
    width: 100%;
    box-shadow: none !important;
    transition: none !important;
    line-height: 0;
    --fit-divider-primary: #13263A;
    --fit-divider-secondary: #EAC81F;
}

.fit-divider:hover {
    transform: none !important;
    box-shadow: none !important;
}

.fit-divider .fit-divider-svg {
    width: 100%;
    height: auto;
    max-width: 100%;
    display: block;
    vertical-align: top;
}

/* Divider-specific sizing */
.fit-divider-wave .fit-divider-svg,
.fit-divider-chevron .fit-divider-svg,
.fit-divider-steps .fit-divider-svg,
.fit-divider-angled .fit-divider-svg,
.fit-divider-bubbles .fit-divider-svg,
.fit-divider-wide-waves .fit-divider-svg,
.fit-divider-peaks .fit-divider-svg,
.fit-divider-curves .fit-divider-svg,
.fit-divider-stripes .fit-divider-svg {
    min-height: 90px;
}

.fit-divider-dots .fit-divider-svg {
    min-height: 70px;
}

/* Support for transformations (mirror/flip) */
.fit-divider.is-flipped .fit-divider-svg {
    transform: scaleX(-1);
}

.fit-divider.is-flipped-vertical .fit-divider-svg {
    transform: scaleY(-1);
}

.fit-divider-wave.is-flipped-vertical .fit-divider-svg,
.fit-divider-wide-waves.is-flipped-vertical .fit-divider-svg,
.fit-divider-curves.is-flipped-vertical .fit-divider-svg {
    transform: scaleY(-1) translateY(1px);
}

.fit-divider.is-flipped.is-flipped-vertical .fit-divider-svg {
    transform: scale(-1, -1);
}

.fit-divider-wave.is-flipped.is-flipped-vertical .fit-divider-svg,
.fit-divider-wide-waves.is-flipped.is-flipped-vertical .fit-divider-svg,
.fit-divider-curves.is-flipped.is-flipped-vertical .fit-divider-svg {
    transform: scale(-1, -1) translateY(1px);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .fit-divider-wave .fit-divider-svg,
    .fit-divider-chevron .fit-divider-svg,
    .fit-divider-steps .fit-divider-svg,
    .fit-divider-dots .fit-divider-svg,
    .fit-divider-angled .fit-divider-svg,
    .fit-divider-bubbles .fit-divider-svg,
    .fit-divider-wide-waves .fit-divider-svg,
    .fit-divider-peaks .fit-divider-svg,
    .fit-divider-curves .fit-divider-svg,
    .fit-divider-stripes .fit-divider-svg {
        min-height: 60px;
    }
}