/**
 * SBA 2 Columns Block Styles
 * 
 * Styles for the 2 Columns Gutenberg block
 */

/* 2 Columns Container */
.sba-2-columns {
    transition: all 0.3s ease;
    margin: 20px 0;
}

.sba-2-columns:hover {
    transform: var(--hover-transform, none);
}

/* Image Column */
.sba-2-columns-image {
    flex-shrink: 0;
}

.sba-2-columns-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sba-2-columns-placeholder {
    border: 2px dashed #ccc;
    font-style: italic;
}

/* Content Column */
.sba-2-columns-content {
    flex: 1;
}

.sba-2-columns-text {
    line-height: 1.6;
}

/* Prevent nested columns from interfering with our layout */
.sba-2-columns-text .wp-block-columns {
    display: block !important;
}

.sba-2-columns-text .wp-block-columns .wp-block-column {
    width: 100% !important;
    margin-bottom: 1em;
}

.sba-2-columns-text .wp-block-columns .wp-block-column:last-child {
    margin-bottom: 0;
}

/* Ensure other layout blocks don't interfere */
.sba-2-columns-text .wp-block-group {
    margin: 0;
}

.sba-2-columns-text .wp-block-group__inner-container {
    padding: 0;
}

/* Reset any flexbox properties that might interfere */
.sba-2-columns-text > * {
    max-width: 100%;
}

.sba-2-columns-text h1,
.sba-2-columns-text h2,
.sba-2-columns-text h3,
.sba-2-columns-text h4,
.sba-2-columns-text h5,
.sba-2-columns-text h6 {
    margin-top: 0;
    margin-bottom: 1em;
}

.sba-2-columns-text p {
    margin-bottom: 1em;
}

.sba-2-columns-text p:last-child {
    margin-bottom: 0;
}

.sba-2-columns-text ul,
.sba-2-columns-text ol {
    margin-bottom: 1em;
    padding-left: 1.5em;
}

.sba-2-columns-text li {
    margin-bottom: 0.5em;
}

.sba-2-columns-text blockquote {
    margin: 1.5em 0;
    padding: 1em;
    border-left: 4px solid #007cba;
    background-color: #f8f9fa;
    font-style: italic;
}

.sba-2-columns-text a {
    color: #007cba;
    text-decoration: none;
}

.sba-2-columns-text a:hover {
    text-decoration: underline;
}

/* Editor Styles */
.wp-block-sba-2-columns {
    margin: 20px 0;
}

.wp-block-sba-2-columns .sba-2-columns {
    margin: 0;
}

/* Responsive Design */

/* Tablet Styles */
@media (max-width: 1024px) {
    .sba-2-columns {
        gap: 15px;
    }
    
    .sba-2-columns-image,
    .sba-2-columns-content {
        min-width: 0;
    }
}

/* Mobile Styles */
@media (max-width: 768px) {
    .sba-2-columns {
        flex-direction: column !important;
        gap: 20px;
    }
    
    .sba-2-columns-image,
    .sba-2-columns-content {
        width: 100% !important;
    }
    
    .sba-2-columns-image {
        order: 1;
    }
    
    .sba-2-columns-content {
        order: 2;
    }
    
    .sba-2-columns-image img {
        height: 250px;
        object-fit: cover;
    }
}

/* Small Mobile Styles */
@media (max-width: 480px) {
    .sba-2-columns {
        gap: 15px;
        padding: 20px !important;
    }
    
    .sba-2-columns-image img {
        height: 200px;
    }
}

/* Accessibility */
.sba-2-columns:focus-within {
    outline: 2px solid #007cba;
    outline-offset: 2px;
}

/* Print Styles */
@media print {
    .sba-2-columns {
        box-shadow: none !important;
        break-inside: avoid;
    }
    
    .sba-2-columns-image img {
        max-height: 300px;
        object-fit: contain;
    }
}

/* High DPI displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sba-2-columns-image img {
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
    }
}

/* Touch-friendly improvements */
@media (hover: none) and (pointer: coarse) {
    .sba-2-columns {
        transition: none;
    }
    
    .sba-2-columns:hover {
        transform: none;
    }
}

/* Equal height support for various layouts */
.wp-block-columns .sba-2-columns,
.wp-block-column .sba-2-columns,
.wp-block-group .sba-2-columns {
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Ensure proper height distribution when equal height is enabled */
.wp-block-columns .sba-2-columns .sba-2-columns-content,
.wp-block-column .sba-2-columns .sba-2-columns-content,
.wp-block-group .sba-2-columns .sba-2-columns-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Additional equal height support for various layouts */
.wp-block-group__inner-container .sba-2-columns,
.wp-block-cover__inner-container .sba-2-columns,
.wp-block-media-text__content .sba-2-columns {
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Grid layout support */
.wp-block-group[class*="has-"] .sba-2-columns,
.wp-block-columns[class*="has-"] .sba-2-columns {
    height: 100%;
    display: flex;
    flex-direction: column;
}
