/* Simple Image Block Styles */

.simple-image-block {
    position: relative;
    display: flex;
    width: 100%;
    padding: 0;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    margin-top: 0 !important;
    padding-top: 0 !important;
    box-sizing: border-box;
}

/* Remove top spacing when simple image is first element */
.simple-image-block:first-child,
.wp-block-post-content > .simple-image-block:first-child,
.wp-block-group > .simple-image-block:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Full width alignment - break out of container constraints */
.simple-image-block.alignfull,
.wp-block-acf-simple-image.alignfull,
.simple-image-block[class*="alignfull"] {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}

/* Ensure parent containers don't constrain width */
.wp-block-group .simple-image-block.alignfull,
.wp-block-column .simple-image-block.alignfull,
.wp-block-post-content .simple-image-block.alignfull {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Remove spacing from parent containers when simple image is first */
.wp-block-post-content > .simple-image-block:first-child,
.wp-block-group > .simple-image-block:first-child {
    margin-top: 0 !important;
}

/* Remove top spacing from main container when simple image is first child */
main.wp-block-group:has(.simple-image-block:first-child),
main.wp-block-group > .wp-block-group:has(.simple-image-block:first-child) {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Override inline styles for spacing when simple image is present */
main.wp-block-group[style*="margin-top"]:has(.simple-image-block:first-child) {
    margin-top: 0 !important;
}

.wp-block-group.alignfull[style*="padding-top"]:has(.simple-image-block:first-child) {
    padding-top: 0 !important;
}

.simple-image-wrapper {
    position: relative;
    width: 100%;
    max-height: 350px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.simple-image {
    width: 100%;
    height: auto;
    max-height: 350px;
    display: block;
    object-fit: cover;
}

/* Responsive - 769px to 1440px (tablet / small desktop) */
@media (min-width: 769px) and (max-width: 1440px) {
    .simple-image-wrapper,
    .simple-image {
        max-height: clamp(280px, 22vw, 350px);
    }
}

.simple-image-placeholder {
    width: 100%;
    min-height: 300px;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    border: 2px dashed #ddd;
    font-size: 16px;
}

/* Editor Preview Mode */
.simple-image-block.is-preview {
    background: #fff !important;
    border: 1px solid #ddd;
    padding: 20px;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-height: 200px;
}

.simple-image-block.is-preview .simple-image-wrapper {
    position: relative;
    min-height: 300px;
}

.simple-image-block.is-preview .simple-image-placeholder {
    width: 100%;
    min-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f0f0;
    color: #666;
    font-size: 16px;
    text-align: center;
    padding: 40px;
    border: 2px dashed #ccc;
}
