/* SIMPLE BOOTSTRAP OVERRIDE */
.twp-footer-modern {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Footer Font System Integration - Use Design System 2025 Variables */
.twp-footer-modern{
  --bg:#f8fafc; --ink:#1e293b; --muted:#64748b; --link:#0f4c75; --border:#e2e8f0; --accent:#2D6484; --accent-light:#0ea5e9; --warm:#f59e0b;
  font-family: var(--font-primary, "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);
  background: var(--bg) !important;
  color: var(--muted) !important;
  border: none !important;
  border-top: 1px solid var(--border) !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
  padding-bottom: 20px !important;
  margin-bottom: 20px !important;
  font-size: 20px;
  line-height: 1.6;
}
.twp-footer-modern *{box-sizing: border-box;}
.twp-footer-modern .container{max-width:1200px; margin:0 auto; padding:0 16px!important}
.twp-footer-modern a{color:var(--ink); text-decoration:none; transition:color .15s ease; font-family: inherit; font-weight:400}
.twp-footer-modern a:hover{color:#2D6484; text-decoration:underline}
.twp-footer-modern a:focus{outline:2px solid #2D6484; outline-offset:2px; border-radius:2px}

/* Hero CTA Section */
.twp-footer-modern .hero-cta{text-align:center; padding:28px 16px; background:#f1f5f9; margin:0 0 24px 0; color:var(--ink); border-top:1px solid var(--border); border-bottom:1px solid var(--border)}
.twp-footer-modern .hero-cta .hero-content{max-width:1200px; margin:0 auto; padding:0 16px}
.twp-footer-modern .hero-header{display:flex; align-items:center; justify-content:center; gap:12px; margin-bottom:8px}
.twp-footer-modern .hero-logo{height:32px; width:auto; filter:none; opacity:.8}
.twp-footer-modern .hero-cta h2{
  margin:0; font-size:1.7rem;
  font-weight: var(--font-weight-bold, 700);
  color:var(--ink);
  font-family: var(--font-primary, "Montserrat", system-ui, sans-serif);
  letter-spacing: -0.01em;
  line-height: 1.4;
}
.twp-footer-modern .hero-cta p{
  margin:0 0 20px; color:var(--muted); font-size:1.3rem;
  font-family: var(--font-primary, "Montserrat", system-ui, sans-serif);
  font-weight: var(--font-weight-normal, 400);
  line-height: 1.6;
}
.twp-footer-modern .hero-cta .cta-buttons{display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-bottom:24px}
@media (max-width:767px){ .twp-footer-modern .hero-cta .cta-buttons{flex-direction:column; align-items:stretch; gap:16px; padding:0 16px} }
.twp-footer-modern .hero-cta .btn{
  display:inline-flex; align-items:center; gap:8px; padding:18px 36px; border-radius:10px;
  min-width: 200px; justify-content: center;
  font-weight: var(--font-weight-semibold, 600);
  font-family: var(--font-primary, "Montserrat", system-ui, sans-serif);
  text-decoration:none; transition:all .15s ease;
  letter-spacing: -0.025em;
  font-size: 1.4rem;
  line-height: 1.4;
}
@media (max-width:767px){ .twp-footer-modern .hero-cta .btn{width:100%; min-width:auto; padding:22px 24px; font-size:1.4rem; font-weight:700} }
.twp-footer-modern .hero-cta .btn-primary{background:#2d6484; color:#fff; border:2px solid #2d6484}
.twp-footer-modern .hero-cta .btn-secondary{background:#fff; color:#2d6484; border:2px solid var(--border)}
.twp-footer-modern .hero-cta .btn:hover{transform:translateY(-1px); box-shadow:0 6px 16px rgba(0,0,0,.1)}
.twp-footer-modern .hero-cta .btn:focus{outline:3px solid #2D6484; outline-offset:2px}
.twp-footer-modern .hero-cta .btn-primary:hover{background:#207cca; border-color:#207cca}
.twp-footer-modern .hero-cta .btn-secondary:hover{background:var(--bg); border-color:#2d6484}
.twp-footer-modern .hero-contact{display:flex; flex-wrap:wrap; justify-content:center; gap:16px; margin-top:20px; padding-top:20px; border-top:1px solid var(--border)}
.twp-footer-modern .hero-contact .contact-item{display:flex; align-items:center; gap:6px; color:var(--ink); font-size:1.2rem}
.twp-footer-modern .hero-contact .contact-item a{color:var(--ink); text-decoration:none; font-weight:500}
.twp-footer-modern .hero-contact .contact-item a:hover{color:#2D6484; text-decoration:underline}
.twp-footer-modern .hero-contact .contact-icon{width:16px; height:16px; color:#2D6484}

/* Smart Grid Layout */
.twp-footer-modern .main-grid{display:grid; gap:24px; margin-bottom:20px}
@media (min-width:768px){ .twp-footer-modern .main-grid{grid-template-columns:1fr 1fr 1fr} }
.twp-footer-modern .section{background:#fff; padding:20px; border-radius:12px; border:1px solid var(--border)}
.twp-footer-modern .section h3{margin:0 0 12px; font-size:1.5rem; font-weight:900; color:var(--ink); display:flex; align-items:center; gap:8px; line-height: 1.4; text-shadow: 0.5px 0 0 currentColor}
.twp-footer-modern .section ul{list-style:none; padding:0; margin:0}
.twp-footer-modern .section li{margin:2px 0}
.twp-footer-modern .section ul li a,
.twp-footer-modern .section li a{font-size:1.1rem !important; line-height:1.1 !important; color:var(--ink) !important; font-weight:300 !important; display:inline !important}

/* Social Integration */
.twp-footer-modern .social-row{display:flex; justify-content:space-between; align-items:center; padding:16px 0; border-top:1px solid var(--border)}
@media (max-width:767px){ .twp-footer-modern .social-row{flex-direction:column; gap:16px; align-items:stretch} }
.twp-footer-modern .social-section{display:flex; flex-direction:column; align-items:center; gap:8px}
.twp-footer-modern .social-section h3{margin:0; font-size:1.3rem; font-weight:600; color:var(--ink); line-height: 1.4}
@media (min-width:768px){ .twp-footer-modern .social-section h3{display:none} }
.twp-footer-modern .social-links{display:flex; gap:12px}
@media (max-width:767px){ .twp-footer-modern .social-links{display:flex; gap:8px; justify-content:center; flex-wrap:wrap} }
.twp-footer-modern .social-links a{display:inline-flex; width:40px; height:40px; border-radius:10px; align-items:center; justify-content:center; background:#fff; border:2px solid var(--border); color:#2D6484; transition:all .15s ease}
@media (max-width:767px){ .twp-footer-modern .social-links a{width:44px; height:44px} }
.twp-footer-modern .social-links a:hover{color:#fff; background:#2D6484; transform:translateY(-1px); box-shadow:0 4px 12px rgba(0,0,0,.1); border-color:#2D6484;}
.twp-footer-modern .social-links svg{width:20px; height:20px}

/* Trust Indicators - Integrated */
.twp-footer-modern .trust-line{display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; font-size:0.9rem; line-height: 1.5}
@media (max-width:767px){ .twp-footer-modern .trust-line{flex-direction:column; gap:12px} }
.twp-footer-modern .trust-line > span{margin-bottom:8px; font-weight:600; color:var(--muted)}
@media (max-width:767px){ .twp-footer-modern .trust-line > span{margin-bottom:0} }
.twp-footer-modern .trust-badges{display:flex; flex-wrap:wrap; justify-content:center; gap:8px}
@media (max-width:767px){ .twp-footer-modern .trust-badges{display:grid; grid-template-columns:1fr 1fr; gap:8px; width:100%} }
.twp-footer-modern .trust-badge{display:inline-flex; align-items:center; gap:6px; padding:6px 10px; background:#fff; border-radius:6px; border:1px solid var(--border); font-size:0.8rem; text-decoration:none; color:var(--muted); transition:all .15s ease; line-height: 1.4}
.twp-footer-modern .trust-badge:hover{transform:translateY(-1px); box-shadow:0 4px 12px rgba(0,0,0,.1); text-decoration:none}
@media (max-width:767px){ .twp-footer-modern .trust-badge{justify-content:center; text-align:center; padding:8px 6px} }
.twp-footer-modern .trust-badge img{height:22px; width:auto; filter:grayscale(1); opacity:.8}
@media (max-width:767px){ .twp-footer-modern .trust-badge img{height:20px} }
.twp-footer-modern .trust-badge span{white-space:nowrap}
@media (max-width:767px){ .twp-footer-modern .trust-badge span{font-size:0.75rem; white-space:normal; line-height:1.2} }

/* Legal - Minimal */
.twp-footer-modern .legal{text-align:center; padding:16px 0 10px 0; border-top:1px solid var(--border); font-size:1rem; color:var(--muted); line-height: 1.5}
.twp-footer-modern .legal .mobile-logo{display:none}
@media (max-width:767px){
  .twp-footer-modern .legal .mobile-logo{display:block; margin:0 auto 8px}
  .twp-footer-modern .legal .mobile-logo img{height:26px; width:auto}
}
.twp-footer-modern .legal a{color:var(--ink); font-weight:400}

/* EMAIL FORM - COMPLETELY RESTRUCTURED FOR PERFECT ALIGNMENT */
.twp-footer-modern .emailBarWrap {
  background: var(--bg);
  border: none;
  margin-bottom: 24px;
}

.twp-footer-modern .emailBar {
  display: grid;
  gap: 16px;
  align-items: start;
  background: #fff;
  padding: 24px;
  border-radius: 12px;
  border: 1px solid var(--border);
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
}

@media (min-width: 768px) {
  .twp-footer-modern .emailBar {
    grid-template-columns: 220px 1fr;
    gap: 28px;
    align-items: center;
    padding: 20px 24px;
  }
}

.twp-footer-modern .emailBar .email-text {
  flex-shrink: 0;
}

.twp-footer-modern .emailBar strong {
  color: var(--ink);
  font-size: 1.2rem;
  display: block;
  margin-bottom: 6px;
  font-weight: 800;
  line-height: 1.4;
}

.twp-footer-modern .emailBar #mc_embed_signup_scroll {
  width: 100% !important;
}

/* FORM LAYOUT - SIMPLE AND RELIABLE */
.twp-footer-modern .emailBar form {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  width: 100% !important;
}

@media (min-width: 768px) {
  .twp-footer-modern .emailBar form {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr 180px !important;
    gap: 10px !important;
    align-items: stretch !important;
  }
}

/* FORM ELEMENTS - IDENTICAL STYLING */
.twp-footer-modern .emailBar input[type="email"],
.twp-footer-modern .emailBar input[type="text"],
.twp-footer-modern .emailBar button {
  /* RESET EVERYTHING */
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  font: inherit !important;
  color: inherit !important;
  text-align: left !important;

  /* IDENTICAL BASE STYLING */
  display: block !important;
  width: 100% !important;
  height: 54px !important;
  padding: 0 18px !important;
  border: 2px solid var(--border) !important;
  border-radius: 10px !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 1.1rem !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  box-sizing: border-box !important;
  transition: all 0.15s ease !important;
}

/* INPUT SPECIFIC STYLING */
.twp-footer-modern .emailBar input[type="email"],
.twp-footer-modern .emailBar input[type="text"] {
  background: #fff !important;
  color: var(--ink) !important;
}

.twp-footer-modern .emailBar input[type="email"]:focus,
.twp-footer-modern .emailBar input[type="text"]:focus {
  outline: none !important;
  border-color: #2d6484 !important;
  box-shadow: 0 0 0 3px rgba(45,100,132,.1) !important;
}

/* BUTTON SPECIFIC STYLING */
.twp-footer-modern .emailBar button {
  background: #2d6484 !important;
  color: #fff !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  text-align: center !important;
  border-color: #2d6484 !important;
}

.twp-footer-modern .emailBar button:hover {
  background: #207cca !important;
  border-color: #207cca !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(45,100,132,.25) !important;
}

.twp-footer-modern .sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}

/* FINAL OVERRIDE - Menu item line height fix */
footer.twp-footer-modern .section ul li a,
footer.twp-footer-modern .section li a,
.twp-footer-modern .section ul li a,
.twp-footer-modern .section li a {
  line-height: 1.1 !important;
  font-size: 1.1rem !important;
  font-weight: 300 !important;
}
