/* Newsletter styles following the precise spec (all selectors scoped under .footer-root) */
.footer-root{
  /* design variables (scoped) */
  --bg-start: #0B4678;
  --bg-end: #1075CD;
  --accent: #FF0000;
  --accent-dark: #CC0000;
  --section-border: rgba(255,255,255,0.1);
  --badge-bg: rgba(255,255,255,0.1);
  --badge-border: rgba(255,255,255,0.2);
  --trust-card-bg: rgba(255,255,255,0.05);
  --trust-card-border: rgba(255,255,255,0.1);
  --trust-card-hover-bg: rgba(255,255,255,0.1);
  --trust-card-hover-border: rgba(255,255,255,0.2);
  --trust-icon-bg: rgba(255,255,255,0.1);
  --trust-icon-color: #FF0000;
  --title-color: #ffffff;
  --description-color: rgba(255,255,255,0.8);
  --privacy-text: rgba(255,255,255,0.5);
  --input-bg: rgba(255,255,255,0.1);
  --input-border: rgba(255,255,255,0.2);
  --input-placeholder: rgba(255,255,255,0.5);
  --input-focus-border: rgba(255,255,255,0.4);
  --input-focus-bg: rgba(255,255,255,0.15);

  position: relative;
  overflow: hidden;
  /* main section background (keeps contrast with header/content) */
  background: linear-gradient(135deg, var(--bg-start), var(--bg-end));
  color: var(--title-color);
  padding-top: 4rem; /* mobile: 64px */
  padding-bottom: 4rem;
  border-bottom: 1px solid var(--section-border);
}

@media (min-width:640px){
  .footer-root{padding-top:5rem;padding-bottom:5rem} /* sm: 80px */
}

/* Container sizing scoped to footer */
.footer-root .container{max-width:87.5rem;margin:0 auto;padding-left:1rem;padding-right:1rem}
@media(min-width:640px){.footer-root .container{padding-left:1.5rem;padding-right:1.5rem}}
@media(min-width:1024px){.footer-root .container{padding-left:2rem;padding-right:2rem}}
.footer-root .decoration{position:absolute;width:384px;height:384px;border-radius:50%;filter:blur(36px)}
.footer-root .circle-left{left:0;top:0;transform:translate(-50%,-50%);background:rgba(255,255,255,0.05)}
.footer-root .circle-right{right:0;bottom:0;transform:translate(50%,50%);background:rgba(255,0,0,0.08)}

/* Outer container with border-bottom */
.footer-root .newsletter-outer{padding-top:48px;padding-bottom:24px}

/* Container horizontal paddings and max width (scoped) */
.footer-root .container{max-width:1400px;margin:0 auto;padding-left:16px;padding-right:16px}
@media(min-width:640px){.footer-root .container{padding-left:24px;padding-right:24px}}
@media(min-width:1024px){.footer-root .container{padding-left:32px;padding-right:32px}}
@media(min-width:640px){.footer-root .newsletter-outer{padding-top:64px;padding-bottom:64px}}

/* Newsletter content wrapper */
.footer-root .newsletter-outer{padding-top:0;padding-bottom:0}

.footer-root .newsletter-wrap{max-width:42rem;margin:0 auto;text-align:center;margin-bottom:4rem}

/* Badge */
.footer-root .badge-inline{display:inline-flex;align-items:center;gap:0.5rem;background:var(--badge-bg);backdrop-filter:blur(4px);border:1px solid var(--badge-border);border-radius:9999px;padding:0.5rem 1rem;margin-bottom:1.5rem}
.footer-root .badge-inline span{font-size:0.875rem;font-weight:700;letter-spacing:0.025em;text-transform:uppercase;color:var(--title-color)}
.footer-root .badge-icon-svg{width:1rem;height:1rem;color:var(--accent);flex:0 0 1rem}

/* Title */
.footer-root .newsletter-title{font-size:30px;line-height:1.05;margin:0 0 16px;font-weight:700;color:var(--title-color)}
@media(min-width:640px){.footer-root .newsletter-title{font-size:36px}}

/* Description */
.footer-root .newsletter-desc{font-size:16px;color:var(--description-color);margin:0 0 32px;line-height:1.625}
@media(min-width:640px){.footer-root .newsletter-desc{font-size:18px}}

/* Form */
.footer-root .form-row{display:flex;flex-direction:column;gap:0.75rem;max-width:28rem;margin:0 auto}
@media(min-width:640px){.footer-root .form-row{flex-direction:row}}

.footer-root #newsletter-email{flex:1;padding:1rem 1.25rem;border-radius:0.75rem;background:var(--input-bg);backdrop-filter:blur(4px);border:2px solid var(--input-border);color:var(--title-color);font-size:1rem;transition:all 300ms ease}
.footer-root #newsletter-email::placeholder{color:var(--input-placeholder)}
.footer-root #newsletter-email:focus{outline:none;border-color:var(--input-focus-border);background:var(--input-focus-bg)}

.footer-root #newsletter-submit{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:1rem 2rem;border-radius:0.75rem;background:linear-gradient(to right,var(--accent),var(--accent-dark));color:var(--button-text,#fff);font-weight:700;font-size:1rem;border:none;cursor:pointer;box-shadow:0 10px 15px -3px rgba(255,0,0,0.3);transition:all 300ms ease;transform:translateZ(0)}
.footer-root #newsletter-submit:disabled{opacity:0.6;cursor:not-allowed}
.footer-root #newsletter-submit .arrow{width:1.25rem;height:1.25rem;transition:transform 300ms ease}
.footer-root #newsletter-submit:hover{background:linear-gradient(to right,var(--accent-dark),var(--accent));box-shadow:0 20px 25px -5px rgba(255,0,0,0.4);transform:scale(1.05)}
.footer-root #newsletter-submit:hover .arrow{transform:translateX(0.25rem)}

.footer-root .privacy{font-size:0.75rem;color:var(--privacy-text);margin-top:1rem}
.footer-root .message{height:22px;margin-top:12px;font-weight:600;color:var(--title-color)}

/* Badges grid */
.footer-root .badges-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;max-width:56rem;margin:0 auto}
@media(min-width:1024px){.footer-root .badges-grid{grid-template-columns:repeat(4,1fr)}}

.footer-root .badge-card{background:var(--trust-card-bg);backdrop-filter:blur(4px);border-radius:0.75rem;padding:1.5rem;border:1px solid var(--trust-card-border);text-align:center;transition:all 300ms ease}
.footer-root .badge-card:hover{background:var(--trust-card-hover-bg);border-color:var(--trust-card-hover-border)}

.footer-root .badge-circle{width:3rem;height:3rem;background:var(--trust-icon-bg);border-radius:9999px;display:flex;align-items:center;justify-content:center;margin:0 auto 0.75rem;transition:transform 300ms ease}
.footer-root .badge-card:hover .badge-circle{transform:scale(1.1)}
.footer-root .badge-circle svg{width:1.5rem;height:1.5rem;color:var(--trust-icon-color)}

.footer-root .badge-title{font-size:0.875rem;font-weight:700;color:var(--trust-title-color, var(--title-color));margin-bottom:0.25rem}
.footer-root .badge-sub{font-size:0.75rem;color:var(--trust-subtitle-color, rgba(255,255,255,0.6))}

