/**
 * Half Text / Half Form Block Styles
 *
 * @package KalbaRx
 */

/* ========================================
   Section Container
   ======================================== */

.half-text-half-form {
    position: relative;
}

.half-text-half-form .container {
    position: relative;
    z-index: 1;
}

/* ========================================
   Paw Icon
   ======================================== */

.half-text-half-form .paw {
    position: absolute;
    top: 0;
    left: 0;
    right: auto;
    width: 350px;
    opacity: 0.4;
    pointer-events: none;
}

.half-text-half-form.form-left .paw {
    left: auto;
    right: 0;
    transform: scaleX(-1);
}

.half-text-half-form .paw img {
    width: 100%;
    height: 100%;
}

/* ========================================
   Layout Wrapper
   ======================================== */

.half-text-half-form .row.align-items-center {
    align-items: center;
}

/* ========================================
   Text Content Column
   ======================================== */

.half-text-half-form .text-content {
    position: relative;
    z-index: 2;
}

.half-text-half-form .text-content h2 {
    margin-bottom: var(--spacing-md);
}

.half-text-half-form .content-text {
    margin-bottom: var(--spacing-lg);
}

.half-text-half-form .content-text p {
    margin-bottom: var(--spacing-md);
}

.half-text-half-form .content-text p:last-child {
    margin-bottom: 0;
}

.half-text-half-form .content-text:has(+ .button-wrapper) {
    margin-bottom: var(--spacing-xl);
}

/* ========================================
   Form Column
   ======================================== */

.half-text-half-form .form-wrapper {
    position: relative;
    width: 100%;
}

.half-text-half-form .form-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    background-color: var(--color-gray-100);
    color: var(--color-gray-500);
    text-align: center;
}

/* ========================================
   Background Color Variations
   ======================================== */

.half-text-half-form.bg-primary .text-content h2,
.half-text-half-form.bg-dark .text-content h2 {
    color: var(--color-white);
}

.half-text-half-form.bg-primary .sub-heading,
.half-text-half-form.bg-dark .sub-heading {
    color: var(--color-secondary);
}

.half-text-half-form.bg-primary .content-text,
.half-text-half-form.bg-dark .content-text {
    color: var(--color-white);
    opacity: 0.95;
}

/* ========================================
   Responsive Design - Mobile First
   ======================================== */

/* Base styles are mobile (0-767px) */
.half-text-half-form .text-content {
    margin-bottom: var(--spacing-xl);
}

.half-text-half-form .content-text {
    font-size: var(--font-size-sm);
}

.half-text-half-form .button-wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.half-text-half-form .button-wrapper .button {
    width: 100%;
    text-align: center;
}

/* Tablet - 768px and up */
@media (min-width: 768px) {
    .half-text-half-form .text-content {
        margin-bottom: 0;
    }
    
    .half-text-half-form .content-text {
        font-size: var(--font-size-base);
    }
    
    .half-text-half-form .button-wrapper {
        flex-direction: row;
    }
    
    .half-text-half-form .button-wrapper .button {
        width: auto;
        text-align: left;
    }
}

/* Desktop - 1024px and up */
@media (min-width: 1024px) {    
    .half-text-half-form .content-text {
        font-size: var(--font-size-lg);
    }
}