/* =========================================
AFISHA FOOTER — CLEAN VERSION
========================================= */

.site-footer{
  background:#000;
  color:#fff;
  margin-top:16px;
}

.site-footer .container,
.site-footer .footer-newsletter .container,
.site-footer .footer-main .container{
  width:min(100% - 40px, var(--grid-max));
  margin:0 auto;
  box-sizing:border-box;
}

/* =========================================
TOP NEWSLETTER BAR
========================================= */
.footer-newsletter{
  padding:14px 0 12px;
  border-bottom:1px solid rgba(255,255,255,.16);
}

.footer-newsletter-row{
  display:grid;
  grid-template-columns:360px 520px;
  justify-content:space-between;
  align-items:center;
  column-gap:28px;
}

.footer-newsletter-left{
  max-width:360px;
  justify-self:start;
  margin-left:-110px;
}

.footer-newsletter-left h2{
  margin:0 0 4px;
  font-size:18px;
  line-height:1.18;
  font-weight:700;
  color:#fff;
}

.footer-newsletter-left p{
  margin:0;
  font-size:13px;
  line-height:1.4;
  color:rgba(255,255,255,.68);
}

.footer-newsletter-right{
  width:100%;
  max-width:540px;
  min-width:0;
  display:block;
}

.footer-newsletter-right .wpcf7{
  width:100%;
  max-width:540px;
  margin:0 0 0 -120px;
}

.footer-newsletter-right .wpcf7 form{
  display:block !important;
  margin:0 !important;
}

.footer-newsletter-right .wpcf7 p{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) 110px;
  grid-auto-rows:auto;
  align-items:start;
  gap:8px 0;
  width:100%;
  margin:0 !important;
}

.footer-newsletter-right .wpcf7-form-control-wrap{
  display:block !important;
  min-width:0 !important;
  margin:0 !important;
}

.footer-newsletter-right .wpcf7-form-control-wrap[data-name="your-email"]{
  grid-column:1;
  grid-row:1;
}

.footer-newsletter input[type="email"]{
  width:100% !important;
  height:40px !important;
  padding:0 14px !important;
  border:1px solid #ddd !important;
  border-right:0 !important;
  background:#fff !important;
  color:#111 !important;
}

.footer-newsletter input[type="email"]::placeholder{
  color:#888;
}

.footer-newsletter .wpcf7-submit{
  width:110px;
  min-width:110px;
  height:40px;
  padding:0 14px;
  border:1px solid var(--color-accent-red);
  border-left:0;
  background:var(--color-accent-red);
  color:#fff;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  border-radius:0 2px 2px 0;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}

.footer-newsletter .wpcf7-submit:hover{
  background:#000;
  color:#fff;
  border-color:#000;
}

.footer-newsletter-right .wpcf7-spinner{
  display:none !important;
}

.footer-newsletter-right .wpcf7-not-valid-tip{
  grid-column:1 / -1 !important;
  display:block !important;
  margin:0 !important;
  color:#ff8f8f !important;
  font-size:12px !important;
  line-height:1.35 !important;
  text-align:left !important;
}

.footer-newsletter-right .wpcf7-response-output{
  display:block !important;
  margin:8px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:rgba(255,255,255,.72) !important;
  font-size:12px !important;
  line-height:1.35 !important;
  text-align:left !important;
}

/* =========================================
BOTTOM FOOTER
========================================= */
.footer-main{
  padding:26px 0 6px;
}

.footer-grid{
  display:grid;
  grid-template-columns:260px 150px 150px 150px 150px;
  column-gap:42px;
  row-gap:36px;
  align-items:start;
  justify-content:space-between;
  padding-left:0;
}

.footer-brand{
  justify-self:start;
  margin-right:0;
  margin-left:-110px;
}

.footer-col{
  min-width:0;
}

.footer-logo{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
  font-size:19px;
  font-weight:700;
  color:#fff;
}

.footer-trademark{
  margin:0 0 16px;
  max-width:220px;
  color:rgba(255,255,255,.58);
  font-size:13px;
  line-height:1.5;
}

.footer-trademark span{
  display:block;
}

.footer-social{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0;
  padding:0;
}

.footer-social a{
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff !important;
  opacity:1;
  transition:color .2s ease, transform .2s ease;
}

.footer-social a svg{
  width:20px;
  height:20px;
  display:block;
}

.footer-social a svg,
.footer-social a svg *{
  fill:currentColor !important;
  stroke:currentColor !important;
}

.footer-social a:hover{
  color:var(--color-accent-red) !important;
  transform:translateY(-2px);
}

.footer-menu{
  list-style:none;
  padding:0;
  margin:0;
}

.footer-menu li{
  margin-bottom:10px;
}

.footer-menu li:last-child{
  margin-bottom:0;
}

.footer-menu a{
  color:rgba(255,255,255,.78);
  font-size:14px;
  line-height:1.4;
  transition:color .2s ease;
}

.footer-menu a:hover{
  color:var(--color-accent-red);
}

/* =========================================
LEGAL FOOTER — FINAL CLEAN VERSION
========================================= */

.footer-legal{
  border-top:1px solid rgba(255,255,255,0.08);
  margin-top:0;
  padding:6px 0 12px;
  font-size:11px;
  line-height:1.5;
  color:rgba(255,255,255,.55);
}

/* Expand width to match shifted grid */
.footer-legal .container{
  width:min(100% - 40px, var(--grid-max));
  margin:0 auto;
  box-sizing:border-box;
}

.footer-legal p{
  margin-bottom:8px;
}

.footer-legal a{
  color:#aaa;
  text-decoration:underline;
}

.footer-legal a:hover{
  color:#fff;
}

/* =========================================
TABLET / MOBILE
========================================= */
@media (max-width: 991px){

  .site-footer{
    width:100%;
    overflow:hidden;
  }

  .site-footer .container,
  .site-footer .footer-newsletter .container,
  .site-footer .footer-main .container{
    width:100%;
    max-width:none;
    margin:0;
    padding-left:16px;
    padding-right:16px;
  }

  .footer-newsletter{
    padding-top:24px;
    padding-bottom:20px;
  }

  .footer-newsletter-row{
    display:block;
    width:100%;
  }

  .footer-newsletter-left{
    width:100%;
    max-width:none;
    margin:0 0 16px 0;
  }

  .footer-newsletter-left h2{
    font-size:18px;
    line-height:1.2;
  }

  .footer-newsletter-left p{
    font-size:13px;
    line-height:1.5;
  }

  .footer-newsletter-right{
    width:100%;
    max-width:none;
    margin:0;
  }

  .footer-newsletter-right .wpcf7,
  .footer-newsletter-right .wpcf7 form,
  .footer-newsletter-right .wpcf7 p{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }

  .footer-newsletter-right .wpcf7-form-control-wrap{
    display:block !important;
    width:100% !important;
    margin:0 0 10px 0 !important;
  }

  .footer-newsletter input[type="email"],
  .footer-newsletter input[type="text"],
  .footer-newsletter input[type="search"]{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:44px !important;
    margin:0 0 10px 0 !important;
    box-sizing:border-box !important;
    border-right:1px solid #ddd !important;
    border-radius:2px !important;
  }

  .footer-newsletter .wpcf7-submit,
  .footer-newsletter button,
  .footer-newsletter input[type="submit"]{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:44px !important;
    margin:0 !important;
    box-sizing:border-box !important;
    border-left:1px solid var(--color-accent-red) !important;
    border-radius:2px !important;
    white-space:nowrap !important;
  }

  .footer-grid{
    width:100%;
    display:block;
  }

  .footer-brand,
  .footer-col{
    display:block;
    width:100%;
    max-width:none;
    margin:0 0 20px 0;
    padding:0;
  }

  .footer-brand{
    margin-left:0;
  }

  .site-footer ul,
  .site-footer ol{
    margin:0;
    padding:0;
    list-style:none;
  }
}

/* =========================================
PHONES
========================================= */
@media (max-width: 767px){

  .footer-main{
    padding:22px 0 6px;
  }

  .footer-grid{
    display:flex;
    flex-direction:column;
    gap:20px;
  }

  /* Put copyright/logo block at the bottom */
  .footer-brand{
    order:99;
    margin:0;
    padding:0;
    border-top:none;
  }

  .footer-col{
    margin:0;
  }

  .footer-menu li{
    margin-bottom:8px;
  }

  .footer-logo{
    margin-bottom:12px;
  }

  .footer-trademark{
    margin-bottom:12px;
  }

  .footer-social{
    margin-bottom:0;
  }
}

/* =========================================
LANDSCAPE PHONE / SMALL TABLET FIX
Keep brand block at bottom when width is >767 but still mobile/tablet
========================================= */
@media (min-width: 768px) and (max-width: 991px){

  .footer-main{
    padding:22px 0 6px;
  }

  .footer-grid{
    display:flex;
    flex-direction:column;
    gap:20px;
  }

  .footer-col{
    order:1;
    margin:0;
  }

  .footer-brand{
    order:99;
    margin:0;
    padding:0;
    border-top:none;
  }

  .footer-logo{
    margin-bottom:12px;
  }

  .footer-trademark{
    margin-bottom:12px;
  }

  .footer-social{
    margin-bottom:0;
  }
}
