/* EduKaczka Landing — enhancements for native Gutenberg blocks
   Scoped to body.landing-dark-theme to avoid conflicts with existing theme.
   Native blocks handle layout, colors, typography via inline styles + theme.json.
   This file adds: hover effects, transitions, responsive tweaks, smooth scroll. */

/* ===== BASE ===== */
body.landing-dark-theme {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
}

/* Remove default margins/padding WP may add to page content */
body.landing-dark-theme .entry-content {
    padding: 0;
    margin: 0;
    max-width: none;
}

body.landing-dark-theme .site-content,
body.landing-dark-theme .content-area {
    padding: 0;
    margin: 0;
}

/* ===== LINK COLORS IN DARK SECTIONS ===== */
body.landing-dark-theme .has-dark-background-color a,
body.landing-dark-theme .has-dark-darker-background-color a,
body.landing-dark-theme .has-dark-surface-background-color a {
    color: #F5B895;
}
body.landing-dark-theme .has-dark-background-color a:hover,
body.landing-dark-theme .has-dark-darker-background-color a:hover,
body.landing-dark-theme .has-dark-surface-background-color a:hover {
    color: #87CEEB;
}

/* ===== BUTTON HOVER EFFECTS ===== */
body.landing-dark-theme .wp-block-button__link {
    transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}
body.landing-dark-theme .wp-block-button__link:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    filter: brightness(1.05);
}

body.landing-dark-theme .wp-block-button.is-style-outline .wp-block-button__link:hover {
    background-color: rgba(255, 255, 255, 0.05);
}

/* ===== CARD HOVER EFFECTS ===== */
/* Feature cards, activity cards, project cards — wp:column with border-radius */
body.landing-dark-theme .wp-block-column.has-background {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
body.landing-dark-theme .wp-block-column.has-background:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4);
}

/* Pricing card highlight on hover */
body.landing-dark-theme .wp-block-columns > .wp-block-column.has-dark-surface-background-color:hover {
    border-color: rgba(255, 255, 255, 0.2);
}

/* Subject list rows hover */
body.landing-dark-theme .wp-block-group.has-dark-background-color[style*="border-radius:1rem"] {
    transition: transform 0.25s ease, border-color 0.25s ease;
}
body.landing-dark-theme .wp-block-group.has-dark-background-color[style*="border-radius:1rem"]:hover {
    transform: translateX(4px);
    border-color: rgba(245, 184, 149, 0.3);
}

/* ===== LIST STYLING ===== */
/* Pricing list items — remove default bullets */
body.landing-dark-theme .wp-block-list {
    list-style: none;
}
body.landing-dark-theme .wp-block-list li {
    padding: 0.375rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
body.landing-dark-theme .wp-block-list li:last-child {
    border-bottom: none;
}

/* ===== RESPONSIVE: 5-COLUMN SUBJECTS GRID ===== */
/* On tablet, 5 columns is too narrow — switch to 2+3 or wrap */
@media (max-width: 1024px) {
    body.landing-dark-theme .wp-block-columns {
        flex-wrap: wrap;
    }
}

@media (max-width: 768px) {
    /* Stack columns on mobile */
    body.landing-dark-theme .wp-block-columns {
        flex-direction: column;
    }
    body.landing-dark-theme .wp-block-column {
        flex-basis: 100% !important;
    }
    
    /* Reduce hero padding on mobile */
    body.landing-dark-theme .wp-block-group.alignfull[style*="padding-top:12rem"] {
        padding-top: 8rem !important;
    }
    
    /* Reduce section padding on mobile */
    body.landing-dark-theme .wp-block-group.alignfull[style*="padding-top:6rem"] {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
    
    /* Smaller hero heading */
    body.landing-dark-theme h1[style*="font-size:3.5rem"] {
        font-size: 2.25rem !important;
    }
    body.landing-dark-theme h1[style*="font-size:3rem"] {
        font-size: 2rem !important;
    }
    
    /* CTA banner — stack vertically */
    body.landing-dark-theme .has-secondary-gradient-gradient-background[style*="border-radius:2rem"] {
        flex-direction: column;
        text-align: center;
    }
}

@media (max-width: 480px) {
    /* Even smaller hero heading on small phones */
    body.landing-dark-theme h1[style*="font-size:3.5rem"] {
        font-size: 1.75rem !important;
    }
    
    /* Reduce padding further */
    body.landing-dark-theme .wp-block-group.alignfull {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}

/* ===== HERO BACKGROUND EFFECTS (shapes + particles) ===== */
/* Appended to body via JS — spans full viewport width */
.edukaczka-hero-bg {
    position: absolute;
    left: 0;
    width: 100vw;
    pointer-events: none;
    overflow: hidden;
    z-index: 0;
}

.edukaczka-hero-bg .ehbg-particles {
    position: absolute;
    inset: 0;
}

/* Gradient blobs */
.edukaczka-hero-bg .ehbg-shape {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
}
.edukaczka-hero-bg .ehbg-shape--1 {
    width: 500px;
    height: 500px;
    background: rgba(245, 184, 149, 0.2);
    top: -150px;
    right: -150px;
    opacity: 0.6;
}
.edukaczka-hero-bg .ehbg-shape--2 {
    width: 400px;
    height: 400px;
    background: rgba(135, 206, 235, 0.2);
    bottom: 5%;
    left: -150px;
    opacity: 0.5;
}
.edukaczka-hero-bg .ehbg-shape--3 {
    width: 300px;
    height: 300px;
    background: rgba(245, 184, 149, 0.15);
    top: 50%;
    right: 25%;
    opacity: 0.4;
}

/* Particle animation */
@keyframes edukaczka-particle-float {
    0%   { transform: translateY(100vh) rotate(0deg); opacity: 0; }
    10%  { opacity: 1; }
    90%  { opacity: 1; }
    100% { transform: translateY(-100vh) rotate(720deg); opacity: 0; }
}

@media (max-width: 768px) {
    .edukaczka-hero-bg .ehbg-shape { display: none; }
}

/* ===== SCROLL ANIMATIONS (optional, CSS-only) ===== */
/* Fade-in on scroll using CSS animation — triggered by IntersectionObserver in JS */
body.landing-dark-theme .wp-block-group.alignfull {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.6s ease, transform 0.6s ease;
}
body.landing-dark-theme .wp-block-group.alignfull.is-hidden {
    opacity: 0;
    transform: translateY(30px);
}

/* ===== MISC ===== */
/* Hide WP admin bar spacing on landing pages */
body.landing-dark-theme.admin-bar .landing-header {
    top: 32px;
}
@media (max-width: 782px) {
    body.landing-dark-theme.admin-bar .landing-header {
        top: 46px;
    }
}
