/* =========================================
VL24 FOOTER — 2026 PREMIUM
========================================= */

.site-footer-pro{
  position:relative;
  margin-top:0px;

  background:#f3f5f1;

  overflow:hidden;
}

/* =========================================
INNER
========================================= */

.footer-inner{
  position:relative;
  z-index:2;
  max-width:1520px;
  margin:0 auto;
  padding:0 28px;
}

/* =========================================
FOOTER NEWSLETTER — CLEAN PREMIUM
========================================= */

.vl24-footer-newsletter-wrap{
  position:relative;

  width:100vw;

  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);

  margin-top:0;
  margin-bottom:70px;

  background:
    linear-gradient(
      135deg,
      #5e5e5e 0%,
      #707070 100%
    );

  overflow:hidden;
}

/* subtle overlay */
.vl24-footer-newsletter-wrap::before{
  content:"";

  position:absolute;
  inset:0;

  background:
    radial-gradient(
      circle at top right,
      rgba(255,255,255,.06),
      transparent 40%
    );
}

/* =========================================
INNER
========================================= */

.vl24-footer-newsletter{
  position:relative;
  z-index:2;

  max-width:1520px;

  margin:0 auto;
  padding:56px 28px;

  display:grid;
  grid-template-columns:minmax(0,1fr) 520px;
  gap:50px;
  align-items:center;
}

/* =========================================
TEXT SIDE
========================================= */

.vl24-footer-newsletter-text{
  max-width:620px;
}

.vl24-footer-newsletter-kicker{
  margin-bottom:12px;

  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;

  color:#8cffb5;
}

.vl24-footer-newsletter-title{
  margin:0 0 16px;

  font-size:clamp(2rem,3vw,3.4rem);
  line-height:.96;
  letter-spacing:-.05em;
  font-weight:800;

  color:#fff;
}

.vl24-footer-newsletter-desc{
  margin:0;

  font-size:17px;
  line-height:1.8;

  color:rgba(255,255,255,.82);
}

/* =========================================
FORM SIDE
========================================= */

.vl24-footer-newsletter-form{
  width:100%;
}

.vl24-footer-newsletter-form form{
  width:100%;
}

/* =========================================
NEWSLETTER FORM — CONNECTED PREMIUM
========================================= */

.tnp-subscription-minimal{
  position:relative;

  display:flex;
  align-items:center;

  width:100%;
  height:68px;

  background:#fff;

  border-radius:10px;

  overflow:visible;

  box-shadow:
    0 20px 40px rgba(0,0,0,.14);
}

/* email */
.tnp-subscription-minimal input[type=email]{
  flex:1;

  width:100%;
  height:100%;

  padding:0 180px 0 24px;

  border:none !important;
  background:transparent !important;

  font-size:15px;
  font-weight:600;

  color:#111;

  box-shadow:none !important;
}

.tnp-subscription-minimal input[type=email]:focus{
  outline:none;
}

.tnp-subscription-minimal input[type=email]::placeholder{
  color:#9ca3af;
}

/* submit */
.tnp-subscription-minimal input[type=submit]{
  position:absolute;

  top:6px;
  right:6px;
  bottom:6px;

  width:160px;

  border:none;
  border-radius:10px;

  background:var(--vl24-green);

  color:#fff;

  font-size:15px;
  font-weight:800;
  letter-spacing:-.01em;

  cursor:pointer;

  transition:all .18s ease;
}

.tnp-subscription-minimal input[type=submit]:hover{
  background:var(--vl24-green-dark);

  transform:translateY(-1px);
}

/* =========================================
FOOTER MAIN
========================================= */

.vl24-footer-main-wrap{
  padding:0 0 40px;
}

/* =========================================
TABLET
========================================= */

@media (max-width:1024px){

  .vl24-footer-newsletter{
    grid-template-columns:1fr;
    gap:28px;
  }

}

/* =========================================
MOBILE
========================================= */

@media (max-width:767px){

  .vl24-footer-newsletter{
    padding:42px 20px;
    gap:24px;
  }

  .vl24-footer-newsletter-title{
    font-size:2.2rem;
  }

  .vl24-footer-newsletter-desc{
    font-size:15px;
  }

  .tnp-subscription-minimal{
    flex-direction:column;
    gap:10px;

    padding:10px;
  }

  .tnp-subscription-minimal input[type=email],
  .tnp-subscription-minimal input[type=submit]{
    width:100%;
  }

}

/* =========================================
MAIN FOOTER AREA
========================================= */

.vl24-footer-main-wrap{
  padding:70px 0 40px;
}

/* =========================================
MAIN FOOTER
========================================= */

.vl24-footer-main-wrap{
  padding-bottom:40px;
}

.vl24-footer-main{
  padding:0 0 50px;
}

.footer-grid{
  display:grid;

  grid-template-columns:
    minmax(320px,1.4fr)
    repeat(3,minmax(180px,1fr));

  gap:80px;
}

/* =========================================
BRAND
========================================= */

.footer-brand{
  max-width:440px;
}

.footer-logo{
  width:auto;
  max-width:180px;
  height:auto;

  margin-bottom:24px;
}

.footer-subtitle{
  margin-bottom:12px;

  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;

  color:#24965a;
}

.footer-title{
  margin:0 0 18px;

  font-size:32px;
  line-height:1;
  letter-spacing:-.04em;
  font-weight:800;

  color:#111;
}

.footer-text{
  font-size:15px;
  line-height:1.9;
  color:#6b7280;
}

/* =========================================
HEADINGS
========================================= */

.footer-heading{
  margin:0 0 22px;

  font-size:15px;
  font-weight:800;
  letter-spacing:-.01em;

  color:#111;
}

/* =========================================
MENU
========================================= */

.footer-menu{
  margin:0;
  padding:0;
  list-style:none;
}

.footer-menu li + li{
  margin-top:14px;
}

.footer-menu a{
  position:relative;

  display:inline-flex;

  color:#4b5563;
  text-decoration:none;

  font-size:15px;
  line-height:1.5;
  font-weight:500;

  transition:all .18s ease;
}

.footer-menu a::after{
  content:"";

  position:absolute;
  left:0;
  bottom:-2px;

  width:0;
  height:1px;

  background:#24965a;

  transition:width .18s ease;
}

.footer-menu a:hover{
  color:#24965a;
}

.footer-menu a:hover::after{
  width:100%;
}

/* =========================================
CONTACT
========================================= */

.footer-contact-item{
  display:flex;
  align-items:flex-start;
  gap:14px;

  font-size:15px;
  line-height:1.7;

  color:#4b5563;
}

.footer-contact-item + .footer-contact-item{
  margin-top:18px;
}

.footer-contact-item a{
  color:#4b5563;
  text-decoration:none;
}

.footer-contact-item a:hover{
  color:#24965a;
}

.footer-icon{
  display:flex;
  align-items:center;
  justify-content:center;

  width:42px;
  height:42px;
  flex:0 0 42px;

  border-radius:6px;

  background:#fff;

  border:1px solid rgba(17,17,17,.06);

  box-shadow:
    0 10px 24px rgba(17,17,17,.04);

  color:#24965a;
}

/* =========================================
BOTTOM
========================================= */

.footer-bottom{
  height:1px;
  background:rgba(17,17,17,.08);
}

.footer-bottom-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;

  padding:26px 0 34px;
}

.footer-bottom-left,
.footer-bottom-right{
  display:flex;
  align-items:center;
  gap:26px;
}

.footer-copy{
  font-size:14px;
  color:#6b7280;
}

/* =========================================
LANG SWITCHER
========================================= */

.footer-lang ul{
  display:flex;
  align-items:center;
  gap:14px;

  margin:0;
  padding:0;
  list-style:none;
}

.footer-lang a{
  display:flex;
  align-items:center;
  gap:8px;

  font-size:14px;
  font-weight:600;

  color:#4b5563;
  text-decoration:none;
}

.footer-lang a:hover{
  color:#24965a;
}

/* =========================================
PRIVACY
========================================= */

.footer-privacy a{
  font-size:14px;
  font-weight:600;

  color:#4b5563;
  text-decoration:none;
}

.footer-privacy a:hover{
  color:#24965a;
}

/* =========================================
MOBILE
========================================= */

@media (max-width: 1024px){

  .vl24-footer-newsletter{
    grid-template-columns:1fr;
  }

  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:40px;
  }

}

@media (max-width: 767px){

  .site-footer-pro{
    margin-top:70px;
  }

  .footer-inner{
    padding:0 20px;
  }

  .vl24-footer-newsletter-wrap{
    margin-bottom:40px;
  }

  .vl24-footer-newsletter{
    padding:28px;
    gap:28px;
  }

  .vl24-footer-newsletter-title{
    font-size:2rem;
  }

  .tnp-subscription-minimal{
    flex-direction:column;
  }

  .tnp-subscription-minimal input[type=email],
  .tnp-subscription-minimal input[type=submit]{
    width:100%;
  }

  .footer-grid{
    grid-template-columns:1fr;
    gap:34px;
  }

  .footer-bottom-inner{
    flex-direction:column;
    align-items:flex-start;
  }

  .footer-bottom-right{
    flex-wrap:wrap;
    gap:16px;
  }

}

/* =========================================
NEWSLETTER BUTTON FIX
========================================= */

.tnp-subscription-minimal{
  padding:7px !important;
}

.tnp-subscription-minimal input[type=submit]{
  appearance:none;
  -webkit-appearance:none;

  border-radius:12px !important;

  overflow:hidden;

  background:var(--vl24-green) !important;

  border:0 !important;

  outline:none !important;

  box-shadow:none !important;

  clip-path:inset(0 round 12px);
}

/* safari */
.tnp-subscription-minimal input[type=submit]::-moz-focus-inner{
  border:0;
}

/* =========================================
NEWSLETTER MOBILE FINAL FIX
========================================= */

@media (max-width:767px){

  .tnp-subscription-minimal{
    height:auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;

    padding:8px !important;
    border-radius:12px !important;
    overflow:hidden !important;
  }

  .tnp-subscription-minimal input[type=email]{
    display:block !important;
    width:100% !important;
    height:54px !important;

    padding:0 18px !important;

    border:none !important;
    background:#fff !important;

    border-radius:10px !important;

    font-size:15px !important;
    font-weight:600 !important;
  }

  .tnp-subscription-minimal input[type=submit]{
    position:relative !important;

    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;

    display:block !important;

    width:100% !important;
    height:54px !important;

    border-radius:10px !important;

    background:var(--vl24-green) !important;
    color:#fff !important;

    clip-path:none !important;
    transform:none !important;
  }

}

