.policy-newsletter-bar { padding:10px 20px; background:#343a3c; color:#fff; }
.policy-newsletter-inner { display:flex; align-items:center; justify-content:center; gap:16px; max-width:1120px; margin:auto; }
.policy-newsletter-copy { margin:0; font-size:14px; line-height:1.5; font-weight:600; color:#fff; word-break:keep-all; }
.policy-newsletter-schedule { color:#d9ddda; font-size:12px; white-space:nowrap; }
.policy-newsletter-bar button { display:inline-flex; align-items:center; gap:7px; flex-shrink:0; min-height:32px; border:1px solid #e4e7e2; border-radius:5px; background:#f5f4f0; padding:6px 11px; font:inherit; font-size:12px; line-height:1.5; font-weight:600; color:#343a3c; text-decoration:none; cursor:pointer; }
.policy-newsletter-bar button:hover { background:#e3e6e0; border-color:#e3e6e0; }
.policy-newsletter-mobile { display:none; }
#policy-newsletter-dialog { box-sizing:border-box; width:calc(100vw - 32px); max-width:480px; max-height:calc(100dvh - 32px); margin:auto; padding:28px; border:1px solid #d4d7d2; border-radius:12px; background:#fff; color:#343a3c; overflow:auto; font-family:inherit; }
#policy-newsletter-dialog::backdrop { background:rgba(0,0,0,.4); }
#policy-newsletter-dialog [hidden] { display:none!important; }
#policy-newsletter-dialog .policy-newsletter-close { position:absolute; top:10px; right:14px; border:0; background:transparent; color:#343a3c; font-size:25px; line-height:1; padding:6px; cursor:pointer; }
#policy-newsletter-dialog h2 { margin:0 22px 12px 0; color:#343a3c; font-size:22px; font-weight:600; line-height:1.4; word-break:keep-all; }
#policy-newsletter-dialog p { color:#666c6b; font-size:14px; line-height:1.6; }
#policy-newsletter-dialog form { margin-top:24px; }
#policy-newsletter-dialog label { display:block; margin-bottom:8px; font-size:14px; color:#343a3c; }
#policy-newsletter-dialog input[type=email] { box-sizing:border-box; width:100%; min-height:44px; padding:11px 12px; background:#fff; color:#343a3c; border:1px solid #cfd3cc; border-radius:6px; font:inherit; font-size:16px; }
#policy-newsletter-dialog details { margin-top:16px; padding:12px; border-radius:6px; background:#f5f4f0; color:#52605b; font-size:12px; }
#policy-newsletter-dialog details summary { cursor:pointer; }
#policy-newsletter-dialog details p { margin:8px 0 0; font-size:12px; }
#policy-newsletter-dialog .policy-newsletter-consent { display:flex; gap:8px; align-items:flex-start; margin:16px 0 0; line-height:1.5; font-size:13px; }
#policy-newsletter-dialog input[type=checkbox] { flex-shrink:0; width:16px; height:16px; margin-top:2px; accent-color:#343a3c; }
#policy-newsletter-dialog button[type=submit] { width:100%; min-height:44px; margin-top:20px; padding:11px 16px; border:0; border-radius:6px; background:#343a3c; color:#fff; font:inherit; font-weight:500; cursor:pointer; }
#policy-newsletter-dialog button[type=submit]:hover { background:#202526; }
#policy-newsletter-dialog button[type=submit]:disabled { background:#b5b8b5; cursor:not-allowed; }
#policy-newsletter-dialog [data-newsletter-error] { margin:12px 0 0; color:#8b342b; font-size:13px; }
#policy-newsletter-dialog [data-newsletter-success] { text-align:center; padding:24px 8px; outline:none; }
#policy-newsletter-dialog [data-newsletter-success] svg { display:block; width:44px; height:44px; margin:0 auto 16px; color:#343a3c; }
#policy-newsletter-dialog [data-newsletter-success] p { margin:0; font-size:16px; color:#343a3c; word-break:keep-all; }
.policy-newsletter-bar button:focus-visible { outline:2px solid #fff; outline-offset:3px; }
#policy-newsletter-dialog :is(button,input,summary):focus-visible { outline:2px solid #343a3c; outline-offset:3px; }
@media(max-width:600px){.policy-newsletter-desktop{display:none}.policy-newsletter-mobile{display:inline}#policy-newsletter-dialog{padding:24px}#policy-newsletter-dialog h2{font-size:20px}}

@media(max-width:600px){
 .policy-newsletter-bar { padding:8px 16px; }
 .policy-newsletter-inner { gap:8px; }
 .policy-newsletter-copy { font-size:12px; white-space:nowrap; }
 .policy-newsletter-schedule { font-size:11px; }
 .policy-newsletter-bar button { padding:5px 8px; gap:4px; min-height:32px; font-size:11px; }
}
