/* Newsletter embedded in the shared public footer. */
.tb-public .tb-newsletter-consent { display:grid; gap:12px; margin:12px 0; }
.tb-public .tb-newsletter-consent label { display:flex; align-items:flex-start; gap:9px; font-size:13px; line-height:1.6; cursor:pointer; text-transform:none; }
.tb-public .tb-newsletter-consent input[type="checkbox"] { flex:0 0 16px; width:16px; height:16px; margin:3px 0 0; padding:0; accent-color:#ed1235; appearance:auto; }
.tb-public .tb-newsletter-consent a { text-decoration:underline !important; text-underline-offset:3px; }
.tb-public .tb-footer-newsletter { min-width:0; padding:16px; border:1px solid rgba(255,255,255,.12); border-radius:14px; background:rgba(255,255,255,.035); }
.tb-public .tb-footer-topline { align-items:start; grid-template-columns:minmax(150px,1fr) minmax(180px,1fr) minmax(300px,1.55fr); }
.tb-public .tb-footer-dynamic .footer-links { display:flex !important; width:100%; margin:0 0 12px !important; line-height:1.6; }
.tb-public .tb-footer-company-links { grid-template-columns:1fr; gap:12px !important; }
.tb-public .tb-footer-newsletter .tb-footer-section-title { text-transform:none; letter-spacing:0 !important; margin-bottom:6px; }
.tb-public .tb-footer-newsletter > p { color:#b8c4d4; margin:0 0 10px; font-size:var(--tb-size-meta); line-height:1.5; }
.tb-public .tb-footer-newsletter .tb-newsletter-form { display:grid; gap:8px; }
.tb-public .tb-footer-newsletter .tb-newsletter-consent { gap:6px; margin:3px 0; }
.tb-public .tb-footer-newsletter .tb-newsletter-consent label { line-height:1.45; }
@media (min-width:576px) {
    .tb-public .tb-footer-newsletter .tb-newsletter-form { grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); gap:6px 10px; }
    .tb-public .tb-footer-newsletter label[for="FooterNewsletterName"] { grid-column:1; grid-row:1; }
    .tb-public .tb-footer-newsletter label[for="FooterNewsletterEmail"] { grid-column:2; grid-row:1; }
    .tb-public #FooterNewsletterName { grid-column:1; grid-row:2; }
    .tb-public #FooterNewsletterEmail { grid-column:2; grid-row:2; }
    .tb-public .tb-footer-newsletter .tb-newsletter-consent,
    .tb-public .tb-footer-newsletter button,
    .tb-public .tb-footer-newsletter .tb-newsletter-status { grid-column:1 / -1; }
}
.tb-public .tb-footer-newsletter label { color:#d3dce9; font-size:var(--tb-size-meta); margin:0; }
.tb-public .tb-footer-newsletter input { width:100%; min-width:0; height:44px; border:1px solid #425169; border-radius:8px; padding:10px 12px; background:#14243b; color:#fff; font:inherit; font-size:var(--tb-size-ui); }
.tb-public .tb-footer-newsletter input::placeholder { color:#aebcd0; opacity:1; }
.tb-public .tb-footer-newsletter input:focus-visible,
.tb-public .tb-footer-newsletter button:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.tb-public .tb-footer-newsletter-email { display:flex; gap:8px; }
.tb-public .tb-footer-newsletter button { flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 14px; border:0; border-radius:8px; background:var(--tb-link-accent,#ed1235); color:#fff; font:inherit; font-size:var(--tb-size-ui); font-weight:600; cursor:pointer; }
.tb-public .tb-footer-newsletter button:hover { background:var(--tb-link-accent-hover,#cf1230); }
.tb-public .tb-footer-newsletter button:disabled { opacity:.65; cursor:wait; }
.tb-public .tb-footer-newsletter .tb-footer-newsletter-privacy { margin:12px 0 0; }
.tb-public .tb-footer-newsletter-privacy a { text-decoration:underline; text-underline-offset:3px; }
.tb-public .tb-footer-newsletter-privacy i { margin-right:4px; }
.tb-public .tb-newsletter-status { margin:0; font-size:var(--tb-size-meta); line-height:1.5; }
.tb-public .tb-newsletter-status:empty { display:none; }
.tb-public .tb-footer-newsletter .tb-newsletter-status { color:#e3ecf8; }
.tb-public .tb-footer-newsletter .tb-newsletter-status[data-state="error"] { color:#ffbbc6; }
@media (min-width:992px) and (max-width:1199.98px) {
    .tb-public .tb-footer-topline { grid-template-columns:1fr 1fr; }
    .tb-public .tb-footer-newsletter { grid-column:1 / -1; max-width:480px; }
}
@media (max-width:991.98px) {
    .tb-public .tb-footer-topline { grid-template-columns:1fr; }
    .tb-public .tb-footer-newsletter { padding:20px; }
}
@media (max-width:359.98px) {
    .tb-public .tb-footer-newsletter-email { flex-direction:column; }
}
