/* =========================================================
   SITE FOOTER
   ========================================================= */

.site-footer {
   position: relative;
   overflow: hidden;
   background:
      radial-gradient(1000px 420px at 8% -10%, rgba(211, 119, 176, 0.22), transparent 55%),
      radial-gradient(900px 380px at 92% 0%, rgba(84, 201, 234, 0.16), transparent 50%),
      linear-gradient(180deg, #1a1a2e 0%, #141428 100%);
   color: #f4f1f7;
   padding: 64px 0 0;
   margin-top: 24px;
}

.site-footer__glow {
   position: absolute;
   inset: auto 0 0 0;
   height: 1px;
   background: linear-gradient(90deg, transparent, rgba(211, 119, 176, 0.55), rgba(84, 201, 234, 0.45), transparent);
   pointer-events: none;
}

.site-footer a {
   color: inherit;
   text-decoration: none;
}

.site-footer__grid {
   display: grid;
   grid-template-columns: 1.35fr 0.85fr 0.85fr 1.2fr;
   gap: 36px 28px;
   padding-bottom: 48px;
}

.site-footer__logo {
   display: inline-flex;
   align-items: center;
   margin-bottom: 16px;
}

.site-footer__logo img {
   display: block;
   max-width: 168px;
   height: auto;
   filter: brightness(1.05);
}

.site-footer__about {
   margin: 0 0 22px;
   max-width: 34ch;
   font-size: 14px;
   line-height: 1.7;
   color: rgba(244, 241, 247, 0.72);
}

.site-footer__social {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
}

.site-footer__social-btn {
   width: 40px;
   height: 40px;
   border-radius: 12px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   background: rgba(255, 255, 255, 0.06);
   border: 1px solid rgba(255, 255, 255, 0.1);
   color: #fff;
   transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.site-footer__social-btn:hover {
   transform: translateY(-2px);
   border-color: rgba(211, 119, 176, 0.55);
   background: rgba(211, 119, 176, 0.2);
   color: #fff;
}

.site-footer__social-btn.is-fb:hover { background: #1877f2; border-color: #1877f2; }
.site-footer__social-btn.is-tw:hover { background: #1da1f2; border-color: #1da1f2; }
.site-footer__social-btn.is-ig:hover {
   background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
   border-color: transparent;
}
.site-footer__social-btn.is-pt:hover { background: #e60023; border-color: #e60023; }
.site-footer__social-btn.is-gp:hover { background: #db4437; border-color: #db4437; }

.site-footer__title {
   margin: 0 0 16px;
   font-size: 13px;
   font-weight: 700;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   color: #fff;
   position: relative;
   padding-bottom: 10px;
}

.site-footer__title::after {
   content: "";
   position: absolute;
   left: 0;
   bottom: 0;
   width: 28px;
   height: 3px;
   border-radius: 999px;
   background: var(--theme-primary, #d377b0);
}

.site-footer__links {
   list-style: none;
   margin: 0;
   padding: 0;
   display: flex;
   flex-direction: column;
   gap: 11px;
}

.site-footer__links a {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   font-size: 14px;
   font-weight: 500;
   color: rgba(244, 241, 247, 0.78);
   transition: color 0.15s ease, transform 0.15s ease;
}

.site-footer__links a::before {
   content: "";
   width: 5px;
   height: 5px;
   border-radius: 50%;
   background: rgba(211, 119, 176, 0.55);
   flex: 0 0 auto;
   transition: background 0.15s ease, transform 0.15s ease;
}

.site-footer__links a:hover {
   color: #fff;
   transform: translateX(2px);
}

.site-footer__links a:hover::before {
   background: var(--theme-primary, #d377b0);
   transform: scale(1.2);
}

.site-footer__subscribe-copy {
   margin: 0 0 16px;
   font-size: 14px;
   line-height: 1.65;
   color: rgba(244, 241, 247, 0.72);
}

.site-footer__form {
   width: 100%;
}

.site-footer__form .response-box .alert {
   margin-bottom: 12px;
}

.site-footer__form-row {
   display: flex;
   align-items: stretch;
   gap: 0;
   background: rgba(255, 255, 255, 0.06);
   border: 1px solid rgba(255, 255, 255, 0.12);
   border-radius: 14px;
   overflow: hidden;
   transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.site-footer__form-row:focus-within {
   border-color: rgba(211, 119, 176, 0.55);
   box-shadow: 0 0 0 3px rgba(211, 119, 176, 0.18);
}

.site-footer__form-row input {
   flex: 1;
   min-width: 0;
   border: 0;
   outline: 0;
   background: transparent;
   color: #fff;
   font-size: 14px;
   font-weight: 500;
   padding: 13px 14px;
}

.site-footer__form-row input::placeholder {
   color: rgba(244, 241, 247, 0.45);
}

.site-footer__form-row button {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   border: 0;
   outline: 0;
   cursor: pointer;
   padding: 0 16px;
   background: var(--theme-button, #d377b0);
   color: var(--theme-button-text, #fff);
   font-size: 14px;
   font-weight: 700;
   white-space: nowrap;
   transition: background 0.18s ease, transform 0.18s ease;
}

.site-footer__form-row button:hover {
   background: var(--theme-primary-hover, #b95794);
}

.site-footer__form-row button i {
   font-size: 12px;
   transition: transform 0.18s ease;
}

.site-footer__form-row button:hover i {
   transform: translateX(2px);
}

.site-footer__bar {
   border-top: 1px solid rgba(255, 255, 255, 0.08);
   background: rgba(0, 0, 0, 0.22);
   padding: 16px 0;
}

.site-footer__bar-inner {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 14px 24px;
   flex-wrap: wrap;
}

.site-footer__copy {
   margin: 0;
   font-size: 13px;
   line-height: 1.5;
   color: rgba(244, 241, 247, 0.62);
}

.site-footer__bar-links {
   display: flex;
   align-items: center;
   gap: 16px;
   flex-wrap: wrap;
}

.site-footer__bar-links a {
   font-size: 13px;
   font-weight: 600;
   color: rgba(244, 241, 247, 0.7);
   transition: color 0.15s ease;
}

.site-footer__bar-links a:hover {
   color: var(--theme-primary, #d377b0);
}

.site-footer .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;
}

/* Hide legacy copyright strip if still present elsewhere */
.copyright-sec {
   display: none !important;
}

@media (max-width: 991px) {
   .site-footer {
      padding-top: 48px;
   }

   .site-footer__grid {
      grid-template-columns: 1fr 1fr;
      gap: 28px 22px;
      padding-bottom: 36px;
   }

   .site-footer__brand {
      grid-column: 1 / -1;
   }
}

@media (max-width: 575px) {
   .site-footer__grid {
      grid-template-columns: 1fr;
      gap: 28px;
   }

   .site-footer__about {
      max-width: none;
   }

   .site-footer__form-row button span {
      display: none;
   }

   .site-footer__form-row button {
      padding: 0 16px;
   }

   .site-footer__bar-inner {
      flex-direction: column;
      align-items: flex-start;
   }
}
