/*Pre Footer*/
.pre-footer{ position: relative; overflow: hidden; padding: 90px 0; background: linear-gradient(135deg, var(--green) 0%, #0d2b21 100%); color: var(--white); }
.pre-footer .content{ display: flex; align-items: center; justify-content: space-between; gap: 48px; position: relative; }
.pre-footer .left{ max-width: 680px; }
.pre-footer .left .eyebrow{ margin-bottom: 16px; color: var(--white); font-family: var(--poppins); font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: uppercase; }
.pre-footer .left h2{ margin-bottom: 18px; color: var(--white); font-size: 36px; line-height: 1.14; letter-spacing: 0; }
.pre-footer .left .description{ margin-bottom: 30px; color: var(--white); font-size: 16px; line-height: 1.65; }
.pre-footer .right{ width: 340px; flex-shrink: 0; padding: 30px 32px; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.06); }
.pre-footer .right .phones-title{ margin-bottom: 18px; color: var(--white); font-family: var(--poppins); font-size: 13px; font-weight: 600; text-transform: uppercase; }
.pre-footer .right .phones{ display: flex; flex-direction: column; gap: 14px; }
.pre-footer .right .phones li{}
.pre-footer .right .phones li a{ display: flex; align-items: center; gap: 14px; color: var(--white); font-family: var(--poppins); font-size: 20px; font-weight: 500; text-decoration: none; transition: var(--transition); }
.pre-footer .right .phones li a i{ display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex-shrink: 0; background: rgba(255,255,255,.12); font-size: 20px; transition: var(--transition); }
.pre-footer .right .phones li a:hover i{ background: var(--white); color: var(--green); }
.pre-footer .button{ flex-shrink: 0; }

/*Main Footer*/
.main-footer{ position: relative; overflow: hidden; padding: 80px 0; background-color: var(--grey-111); background-image: linear-gradient(135deg,rgba(0,129,108,.22) 1px,transparent 1px),linear-gradient(45deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size: 28px 28px; color: var(--white); }
.main-footer .content{ display: grid; grid-template-columns: 150px minmax(0,1fr) auto; gap: 64px; align-items: start; position: relative; }

/*Logo*/
.main-footer .logo{ width: 112px; display: block; color: var(--white); }
.main-footer .logo figure{ }
.main-footer .logo figure svg{ width: 100%; display: block; }

/*Footer Columns*/
.main-footer .footer-columns{ display: flex; gap: 72px; }
.main-footer .footer-columns .footer-column{ min-width: 180px; }
.main-footer .footer-columns .footer-widget-title{ margin-bottom: 20px; color: var(--white); font-family: var(--poppins); font-size: 18px; font-weight: 600; }

/*Footer Menu*/
.main-footer .footer-columns .footer-column .menu li{ padding: 7px 0; }
.main-footer .footer-columns .footer-column .menu li a{ color: var(--green-600); text-decoration: none; transition: var(--transition); }
.main-footer .footer-columns .footer-column .menu li a:hover{ color: var(--white); }
.main-footer .footer-columns .footer-column .menu li a:focus-visible{ outline: 2px solid var(--green-600); outline-offset: 3px; }

/*Social Menu*/
.main-footer .social-menu ul{ display: flex; gap: 6px; }
.main-footer .social-menu ul li{ }
.main-footer .social-menu ul li a{ width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(0,129,108,.55); border-radius: 50%; color: var(--green); font-size: 18px; text-decoration: none; transition: var(--transition); }
.main-footer .social-menu ul li a:hover{ border-color: var(--green); background: var(--green); color: var(--white); }
.main-footer .social-menu ul li a:focus-visible{ outline: 2px solid var(--white); outline-offset: 3px; }

/*Post Footer*/
.post-footer{ padding: 22px 0; background: var(--black); color: var(--white-bbb); font-size: 13px; }
.post-footer .content{ display: flex; align-items: center; justify-content: space-between; }
.post-footer .ttc-logo{ width: 82px; display: block; }
.post-footer .ttc-logo img{ width: 100%; display: block; }

@media(max-width: 1023px){

   /*Pre Footer*/
   .pre-footer{ padding: 64px 0; }
   .pre-footer .content{ flex-direction: column; align-items: flex-start; gap: 32px; }
   .pre-footer .left{ max-width: 100%; }
   .pre-footer .left h2{ font-size: 30px; }
   .pre-footer .right{ width: 100%; max-width: 420px; }

   /*Main Footer*/
   .main-footer{ padding: 64px 0; }
   .main-footer .content{ grid-template-columns: 120px minmax(0,1fr); gap: 48px; }

   /*Logo*/
   .main-footer .logo{ width: 96px; }

   /*Footer Columns*/
   .main-footer .footer-columns{ gap: 48px; }

   /*Social Menu*/
   .main-footer .social-menu{ grid-column: 2; }
   .main-footer .social-menu ul{ }
   .main-footer .social-menu ul li{ }
   .main-footer .social-menu ul li a{ }

}

@media(max-width: 767px){

   /*Pre Footer*/
   .pre-footer{ padding: 52px 0; }
   .pre-footer .content{ padding: 0 20px; }
   .pre-footer .left h2{ font-size: 26px; }
   .pre-footer .left .description{ font-size: 14px; }
   .pre-footer .right{ padding: 22px 20px; }
   .pre-footer .right .phones li a{ font-size: 18px; }

   /*Main Footer*/
   .main-footer{ padding: 56px 0; }
   .main-footer .content{ display: flex; flex-direction: column; gap: 36px; padding: 0 20px; }

   /*Logo*/
   .main-footer .logo{ width: 90px; }

   /*Footer Columns*/
   .main-footer .footer-columns{ width: 100%; flex-direction: column; gap: 32px; }
   .main-footer .footer-columns .footer-column{ min-width: 0; }
   .main-footer .footer-columns .footer-widget-title{ margin-bottom: 14px; }

   /*Social Menu*/
   .main-footer .social-menu{ }
   .main-footer .social-menu ul{ }
   .main-footer .social-menu ul li{ }
   .main-footer .social-menu ul li a{ }

   /*Post Footer*/
   .post-footer{ padding: 18px 0; }
   .post-footer .content{ padding: 0 20px; }
   .post-footer .ttc-logo{ width: 72px; }

}

@media (pointer: coarse){

   /*Footer Menu: 44px touch targets*/
   .main-footer .footer-columns .footer-column .menu li{ padding: 0; }
   .main-footer .footer-columns .footer-column .menu li a{ display: inline-block; padding: 14px 0; line-height: 16px; }

   /*Social Menu*/
   .main-footer .social-menu ul li a{ width: 44px; height: 44px; }

   /*Pre Footer*/
   .pre-footer .right .phones li a{ min-height: 44px; }

}
