.newsletter-card {
    width: 100%;
    margin: 24px 0;
    padding: clamp(20px, 4vw, 30px);
    color: var(--text-secondary, #374151);
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-light, #e5e7eb);
    border-radius: 16px;
    box-shadow: var(--shadow-md, 0 8px 24px rgba(0,0,0,.07));
}
.filters-column { width: 100%; min-width: 0; }
.newsletter-card[hidden] { display: none; }
.newsletter-card h2, .account-preferences h2 { margin: 0 0 8px; color: var(--text-primary, #111827); }
.newsletter-card p { margin: 0 0 18px; }
.newsletter-form, .newsletter-preferences-form { display: grid; gap: 14px; }
.newsletter-form label, .newsletter-preferences-form label, .newsletter-fieldset legend { color: var(--text-primary, #111827); font-weight: 600; }
.newsletter-form input[type="email"], .newsletter-preferences-form input[type="number"], .newsletter-preferences-form select, .account-preferences select {
    width: 100%; min-height: 44px; margin-top: 6px; padding: 8px 10px;
    border: 1px solid var(--input-border, #d1d5db); border-radius: 8px; background: var(--input-bg, #fff);
}
.newsletter-form button, .newsletter-preferences-form button {
    min-height: 44px; padding: 10px 14px; border: 0; border-radius: 8px;
    color: #fff; background: var(--accent-primary, #2563eb); font-weight: 700; cursor: pointer;
}
.newsletter-fieldset { margin: 8px 0; padding: 12px; border: 1px solid var(--border-light, #e5e7eb); border-radius: 10px; }
.newsletter-options { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 8px; }
.newsletter-options label { font-size: 13px; font-weight: 400; }
.newsletter-form .newsletter-consent { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; font-weight: 400; }
.filter-email-checkbox { display: flex; align-items: center; gap: 8px; margin: 14px 0 8px; font-size: 13px; cursor: pointer; }
.filter-email-checkbox input { width: 15px; height: 15px; }
.filter-email-message, .single-similar-message { display: block; margin: 0 0 8px; color: #047857; font-size: 12px; }
.single-title-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px; margin: 10px 0; }
.single-title-actions .single-wishlist-action { margin: 0; }
.single-similar-alert { padding: 0; border: 0; border-bottom: 1px dashed currentColor; color: var(--accent-primary, #2563eb); background: transparent; font: inherit; font-size: 14px; cursor: pointer; }
.single-similar-alert.is-active { color: #047857; }
.newsletter-message { margin-top: 12px; color: #b91c1c; }
.newsletter-message.is-success { color: #047857; }
.subscriber-account-prompt { margin: 22px 0; padding: 18px; background: var(--bg-soft, #f7f8fa); border: 1px solid var(--border-light, #e5e7eb); border-radius: 12px; }
.subscriber-account-prompt h3 { margin: 0 0 6px; color: var(--text-primary, #111827); }
.subscriber-account-prompt p { margin: 0 0 14px; }
.subscriber-account-form { display: flex; align-items: end; gap: 10px; }
.subscriber-account-form label { flex: 1; color: var(--text-primary, #111827); font-weight: 600; }
.subscriber-account-form input { width: 100%; min-height: 44px; margin-top: 6px; padding: 8px 10px; border: 1px solid var(--input-border, #d1d5db); border-radius: 8px; }
.subscriber-account-form button { min-height: 44px; padding: 10px 14px; border: 0; border-radius: 8px; color: #fff; background: var(--accent-primary, #2563eb); font-weight: 700; cursor: pointer; }
.account-preferences { margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--border-light, #e5e7eb); }
.newsletter-budget { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.main-container-single > .newsletter-card { max-width: 900px; margin: 28px auto; }
.auth-layout--guest-preferences > .newsletter-card { max-width: 720px; }
@media (max-width: 560px) { .newsletter-budget { grid-template-columns: 1fr; } .subscriber-account-form { align-items: stretch; flex-direction: column; } }
@media (min-width: 768px) {
    .filters-column {
        flex: 0 1 35%;
        width: 35%;
        min-width: 240px;
        max-width: 450px;
    }
}
