/**
 * Newsletter Section Frontend Styles
 */

.reviewpro-newsletter {
    position: relative;
    width: 100%;
}

.reviewpro-newsletter__overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.reviewpro-newsletter__container {
    position: relative;
    z-index: 2;
    margin: 0 auto;
    padding: 0 var(--wp--preset--spacing--5, 20px);
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    /* Default max-width, controlled by CSS variable from Newsletter Manager settings */
    max-width: var(--reviewpro-newsletter-content-max-width, 600px);
}

/* Full width variant - container can be full width, form stays readable */
.reviewpro-newsletter--full-width .reviewpro-newsletter__container {
    max-width: 100% !important;
}

.reviewpro-newsletter--full-width .reviewpro-newsletter__form {
    max-width: var(--reviewpro-newsletter-form-max-width, 800px) !important;
}

.reviewpro-newsletter__title {
    margin: 0 0 var(--wp--preset--spacing--4, 16px);
    font-size: var(--wp--preset--font-size--3-x-large, 2.5rem);
    font-weight: 700;
    line-height: 1.2;
}

.reviewpro-newsletter__description {
    margin: 0 0 var(--wp--preset--spacing--6, 24px);
    font-size: var(--wp--preset--font-size--medium, 1.125rem);
    opacity: 0.9;
}

/* Form Styles */
.reviewpro-newsletter__form {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100%;
    max-width: var(--reviewpro-newsletter-form-max-width, 600px);
    margin: 0 auto;
    background: var(--wp--preset--color--white, #fff);
    border-radius: var(--wp--custom--border-radius--md, 6px);
    overflow: hidden;
}

.reviewpro-newsletter__input {
    flex: 1 1 0%;
    min-width: 0;
    box-sizing: border-box;
    padding: var(--wp--preset--spacing--4, 16px) var(--wp--preset--spacing--5, 20px);
    font-size: var(--wp--preset--font-size--medium, 1rem);
    border: none;
    background: transparent;
    margin: 0;
}

.reviewpro-newsletter__input:focus {
    outline: none;
}

.reviewpro-newsletter__button {
    flex: 0 0 auto;
    box-sizing: border-box;
    padding: var(--wp--preset--spacing--4, 16px) var(--wp--preset--spacing--6, 24px);
    font-weight: 700;
    border: none;
    cursor: pointer;
    white-space: nowrap;
    margin: 0;
    transition: opacity 0.2s;
}

.reviewpro-newsletter__button:hover {
    opacity: 0.9;
}

/* Vertical Layout */
.reviewpro-newsletter__form--vertical {
    flex-direction: column;
    gap: var(--wp--preset--spacing--3, 12px);
    background: transparent;
    overflow: visible;
}

.reviewpro-newsletter__form--vertical .reviewpro-newsletter__input,
.reviewpro-newsletter__form--vertical .reviewpro-newsletter__button {
    width: 100%;
}

/* Split Layout */
.reviewpro-newsletter--split .reviewpro-newsletter__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--wp--preset--spacing--10, 40px);
    text-align: left;
    /* Removed hardcoded max-width, respecting inline styles */
}

.reviewpro-newsletter--split .reviewpro-newsletter__content {
    flex: 1;
}

.reviewpro-newsletter--split .reviewpro-newsletter__form-wrap {
    flex: 1;
}

/* Minimal Design */
.reviewpro-newsletter--minimal {
    border-top: 1px solid var(--wp--preset--color--gray-200, #e5e7eb);
    border-bottom: 1px solid var(--wp--preset--color--gray-200, #e5e7eb);
}

.reviewpro-newsletter--minimal .reviewpro-newsletter__form {
    background: var(--wp--preset--color--gray-100, #f3f4f6);
}

/* Success Message */
.reviewpro-newsletter__message {
    margin-top: var(--wp--preset--spacing--4, 16px);
    font-size: var(--wp--preset--font-size--medium, 1rem);
}

.reviewpro-newsletter__message.success {
    color: var(--wp--preset--color--success, #10b981);
}

.reviewpro-newsletter__message.error {
    color: var(--wp--preset--color--error, #ef4444);
}

/* Loading State */
.reviewpro-newsletter__form.is-loading .reviewpro-newsletter__button {
    opacity: 0.7;
    pointer-events: none;
}

/* Alternative Content */
.reviewpro-newsletter-alt {
    padding: var(--wp--preset--spacing--10, 40px) var(--wp--preset--spacing--5, 20px);
}

/* Responsive */
@media (max-width: 768px) {
    .reviewpro-newsletter__form {
        flex-direction: column;
    }
    
    .reviewpro-newsletter__input,
    .reviewpro-newsletter__button {
        width: 100%;
        border-radius: 0 !important;
    }
    
    .reviewpro-newsletter--split .reviewpro-newsletter__container {
        flex-direction: column;
        text-align: center;
    }
}
