/*!
SCHEPERS Block Styles - Frontend
================================
*/

/* Global Block Styles */
.schepers-block {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}

/* Full-width blocks */
.wp-block[data-align="full"] .schepers-block {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* Wide alignment */
.wp-block[data-align="wide"] .schepers-block {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}

/* Block spacing */
.schepers-block + .schepers-block {
    margin-top: 0;
}

/* Animation helpers */
.schepers-block.in-view {
    /* Trigger class for intersection observer animations */
}

/* Common section styles */
.schepers-block .section-title {
    font-family: var(--font-display, 'Space Grotesk', sans-serif);
    margin-bottom: 2rem;
}

.schepers-block .section-title .title-number {
    display: inline-block;
    margin-right: 2rem;
    opacity: 0.6;
}

.schepers-block .section-title .title-text {
    display: inline-block;
    font-weight: 700;
}

/* Button styles for blocks */
.schepers-block .btn,
.schepers-block button,
.schepers-block .btn-primary-large,
.schepers-block .btn-outline-large {
    font-family: var(--font-display, 'Space Grotesk', sans-serif);
    font-weight: 600;
    border-radius: 50px;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.schepers-block .btn:hover,
.schepers-block button:hover,
.schepers-block .btn-primary-large:hover,
.schepers-block .btn-outline-large:hover {
    transform: translateY(-2px);
    text-decoration: none;
}

/* Grid layouts for blocks */
.schepers-block .block-grid {
    display: grid;
    gap: 2rem;
    align-items: center;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 2rem;
}

.schepers-block .block-grid.two-columns {
    grid-template-columns: 1fr 1fr;
}

.schepers-block .block-grid.three-columns {
    grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 1024px) {
    .schepers-block .block-grid.two-columns,
    .schepers-block .block-grid.three-columns {
        grid-template-columns: 1fr;
        text-align: center;
    }
}

@media (max-width: 768px) {
    .schepers-block .block-grid {
        padding: 0 1rem;
        gap: 1.5rem;
    }
}

/* Typography for blocks */
.schepers-block h1,
.schepers-block h2,
.schepers-block h3,
.schepers-block h4,
.schepers-block h5,
.schepers-block h6 {
    font-family: var(--font-display, 'Space Grotesk', sans-serif);
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 1rem;
}

.schepers-block p {
    line-height: 1.6;
    margin-bottom: 1rem;
}

/* Animation keyframes */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-50px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(50px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.8);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Intersection Observer setup */
.schepers-block [data-animation] {
    opacity: 0;
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.schepers-block.in-view [data-animation="fadeIn"] {
    opacity: 1;
}

.schepers-block.in-view [data-animation="slideInLeft"] {
    opacity: 1;
    transform: translateX(0);
}

.schepers-block.in-view [data-animation="slideInRight"] {
    opacity: 1;
    transform: translateX(0);
}

.schepers-block.in-view [data-animation="slideInUp"] {
    opacity: 1;
    transform: translateY(0);
}

.schepers-block.in-view [data-animation="scaleIn"] {
    opacity: 1;
    transform: scale(1);
}

/* Loading states */
.schepers-block.loading {
    opacity: 0.5;
    pointer-events: none;
}

/* Block-specific overrides can be added here */

/* Ensure proper spacing between blocks */
.wp-block-schepers-hero + .wp-block-schepers-philosophy,
.wp-block-schepers-philosophy + .wp-block-schepers-products,
.wp-block-schepers-products + .wp-block-schepers-technology,
.wp-block-schepers-technology + .wp-block-schepers-impact,
.wp-block-schepers-impact + .wp-block-schepers-news,
.wp-block-schepers-news + .wp-block-schepers-cta {
    margin-top: 0 !important;
}

/* Ensure blocks work with WordPress alignment */
.wp-block[data-align="full"] {
    margin-left: auto;
    margin-right: auto;
}

/* Custom cursor support for blocks */
@media (hover: hover) and (pointer: fine) {
    .schepers-block a,
    .schepers-block button,
    .schepers-block .btn {
        cursor: none;
    }
}