/* ══════════════════════════════════════════════
   FICHERO 1: assets/banner.css — Banner frontend (responsive)
══════════════════════════════════════════════ */
.s4b-banner {
    position: fixed;
    top: 50%;
    left: 50%;
    bottom: auto;
    transform: translate(-50%, -45%);
    width: min(92vw, 480px);
    max-height: 90vh;
    overflow-y: auto;
    background: var(--s4b-bg, #0073aa);
    color: var(--s4b-fg, #fff);
    border-radius: 14px;
    box-shadow: 0 12px 32px rgba(0,0,0,.25);
    z-index: 99999;
    opacity: 0;
    transition: opacity .3s ease, transform .3s ease;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
.s4b-banner--visible { opacity: 1; transform: translate(-50%, -50%); }

.s4b-banner__inner { padding: 20px 44px 22px 24px; }
.s4b-banner__close {
    position: absolute; top: 10px; right: 10px;
    background: rgba(0,0,0,.12);
    border: none; color: inherit;
    width: 26px; height: 26px;
    border-radius: 50%;
    font-size: 18px; line-height: 1;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; opacity: .85;
    transition: opacity .15s ease, background .15s ease;
}
.s4b-banner__close:hover { opacity: 1; background: rgba(0,0,0,.22); }

.s4b-banner__msg { font-size: 1.05em; line-height: 1.4; margin-bottom: 14px; padding-right: 4px; }
.s4b-banner__msg a { color: inherit; text-decoration: underline; }

.s4b-banner__coupon { display: flex; gap: 10px; align-items: center; margin-bottom: 14px; flex-wrap: wrap; }
.s4b-banner__code {
    background: rgba(255,255,255,.15);
    border: 1px dashed rgba(255,255,255,.6);
    padding: 6px 14px; border-radius: 6px;
    font-family: monospace; font-weight: 700; letter-spacing: .08em;
}
.s4b-banner__copy, .s4b-banner__apply, .s4b-banner__submit {
    background: rgba(255,255,255,.95);
    color: #222; border: none; border-radius: 6px;
    padding: 8px 16px; font-weight: 600; cursor: pointer;
    transition: transform .15s ease;
}
.s4b-banner__copy:hover, .s4b-banner__apply:hover, .s4b-banner__submit:hover { transform: translateY(-1px); }

.s4b-banner__form { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.s4b-banner__email-intro { font-size: .92em; font-weight: 600; margin: 0 0 2px; line-height: 1.35; }
.s4b-banner__form input[type="email"] {
    padding: 9px 12px; border-radius: 6px; border: none; font-size: .95em;
}
.s4b-banner__rgpd { display: flex; gap: 8px; align-items: flex-start; font-size: .82em; line-height: 1.3; }
.s4b-banner__rgpd input { margin-top: 3px; flex-shrink: 0; }
.s4b-banner__captcha { display: flex; align-items: center; gap: 8px; font-size: .88em; }
.s4b-banner__captcha input[type="number"] { padding: 6px 8px; border-radius: 6px; border: none; }
.s4b-banner__form-msg { font-size: .85em; min-height: 1.2em; margin: 0; }
.s4b-banner__consent-notice { font-size: .85em; opacity: .9; margin: 0; }

@media (max-width: 480px) {
    .s4b-banner { width: 94vw; border-radius: 12px; }
    .s4b-banner__inner { padding: 16px 18px 18px; }
    .s4b-banner__coupon { flex-direction: column; align-items: stretch; }
    .s4b-banner__copy, .s4b-banner__apply { width: 100%; }
}
