/**
 * Footer Styles
 *
 * Footer widgets, copyright, social links, and branding.
 *
 * @package Immersa_Builder
 * @since   1.0.0
 */

/* ============================================
   Footer Base
   ============================================ */

.immersa-footer {
  background-color: var(--immersa-footer-bg, var(--immersa-secondary, #0F172A));
  color: var(--immersa-footer-text, #94a3b8);
  padding-top: var(--immersa-spacing-xl, 3rem);
  margin-top: var(--immersa-spacing-2xl, 5rem);
}

/* Remove top margin on full-width builder templates. */
body.page-template-elementor_header_footer .immersa-footer,
body.page-template-elementor_canvas .immersa-footer,
body.immersa-elementor-page .immersa-footer,
body.fl-builder-enabled .immersa-footer,
body.beaver-builder-enabled .immersa-footer {
  margin-top: 0;
}

/* ============================================
   Footer Widgets
   ============================================ */

.immersa-footer__widgets {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--immersa-spacing-lg, 2rem);
  padding-bottom: var(--immersa-spacing-lg, 2rem);
  border-bottom: 1px solid var(--immersa-footer-border, #1e293b);
}

.immersa-footer__widget {
  color: var(--immersa-footer-text, #94a3b8);
}

.immersa-footer__widget-title {
  color: var(--immersa-footer-heading, #FFFFFF);
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: var(--immersa-spacing-md, 1.5rem);
}

.immersa-footer__widget ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.immersa-footer__widget li {
  margin-bottom: var(--immersa-spacing-xs, 0.5rem);
}

.immersa-footer__widget a {
  color: var(--immersa-footer-link, #94a3b8);
  text-decoration: none;
  transition: color 0.2s ease;
}

.immersa-footer__widget a:hover {
  color: var(--immersa-footer-link-hover, var(--immersa-accent, #38BDF8));
  text-decoration: underline;
}

/* WordPress Social Links block base styling inside footer widgets. */
.immersa-footer .wp-block-social-links {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  width: auto !important;
  max-width: 100% !important;
  gap: var(--immersa-spacing-sm, 0.75rem) !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.immersa-footer .wp-block-social-links .wp-social-link,
.immersa-footer .wp-block-social-links li.wp-social-link {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.immersa-footer .wp-block-social-links li {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.immersa-footer .wp-block-social-links .wp-social-link:last-child,
.immersa-footer .wp-block-social-links li.wp-social-link:last-child {
  margin-bottom: 0 !important;
}

.immersa-footer .wp-block-social-links .wp-social-link a {
  width: 36px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  text-decoration: none !important;
  color: var(--immersa-footer-social, #94a3b8) !important;
  background: transparent !important;
  transition: color 0.2s ease, background-color 0.2s ease !important;
}

.immersa-footer .wp-block-social-links .wp-social-link a:hover {
  color: var(--immersa-footer-social-hover, #FFFFFF) !important;
  background-color: var(--immersa-footer-border, rgba(255, 255, 255, 0.1)) !important;
}

.immersa-footer .wp-block-social-links .wp-social-link svg {
  width: 18px !important;
  height: 18px !important;
  fill: currentColor !important;
  display: block !important;
}

/* Keep icon-only layout in footer widgets. */
.immersa-footer .wp-block-social-links .wp-social-link-label {
  display: none !important;
}

/* ============================================
   Footer Bottom Bar
   ============================================ */

.immersa-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--immersa-spacing-md, 1.5rem) 0;
  flex-wrap: wrap;
  gap: var(--immersa-spacing-sm, 1rem);
}

.immersa-footer__copyright {
  font-size: 0.875rem;
  color: var(--immersa-footer-text, #94a3b8);
}

.immersa-footer__copyright a {
  color: var(--immersa-footer-link, #94a3b8);
  text-decoration: none;
}

.immersa-footer__copyright a:hover {
  color: var(--immersa-footer-link-hover, var(--immersa-accent, #38BDF8));
  text-decoration: underline;
}

/* ============================================
   Theme Social List
   ============================================ */

.immersa-footer__social,
.immersa-social-links {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--immersa-spacing-sm, 0.75rem);
  list-style: none;
  margin: 0;
  padding: 0;
}

.immersa-footer__social li,
.immersa-social-links li {
  margin: 0;
}

.immersa-footer__social a,
.immersa-social-links a {
  color: var(--immersa-footer-social, #94a3b8);
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: color 0.2s ease, background-color 0.2s ease;
  text-decoration: none;
  flex-shrink: 0;
}

.immersa-footer__social a:hover,
.immersa-social-links a:hover {
  color: var(--immersa-footer-social-hover, #FFFFFF);
  background-color: var(--immersa-footer-border, rgba(255, 255, 255, 0.1));
  text-decoration: none;
}

.immersa-footer__social a svg,
.immersa-social-links a svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
  display: block;
  flex-shrink: 0;
}

/* ============================================
   Footer: Minimal
   ============================================ */

.immersa-footer--minimal {
  padding-top: var(--immersa-spacing-lg, 2rem);
}

/* Hide 4-column grid in minimal mode. */
.immersa-footer--minimal .immersa-footer__widgets {
  display: none;
}

.immersa-footer--minimal .immersa-footer__minimal-widgets {
  padding-bottom: var(--immersa-spacing-md, 1.5rem);
  border-bottom: 1px solid var(--immersa-footer-border, #1e293b);
}

.immersa-footer--minimal .immersa-footer__minimal-widgets ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.immersa-footer--minimal .immersa-footer__minimal-widgets li:not(.wp-social-link) {
  margin-bottom: var(--immersa-spacing-xs, 0.5rem);
}

.immersa-footer--minimal .immersa-footer__minimal-widgets .wp-block-social-links li {
  margin-bottom: 0 !important;
}

.immersa-footer--minimal .immersa-footer__minimal-widgets .widget:last-child {
  margin-bottom: 0;
}

.immersa-footer--minimal .immersa-footer__minimal-widgets .immersa-social-block__list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  gap: var(--immersa-spacing-sm, 0.75rem);
}

.immersa-footer--minimal .immersa-footer__minimal-widgets .immersa-social-block__item {
  display: inline-flex;
  margin: 0 !important;
  padding: 0 !important;
}

.immersa-footer--minimal .immersa-footer__minimal-widgets .immersa-social-block__link {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--immersa-footer-social, #94a3b8);
  text-decoration: none;
  transition: color 0.2s ease, background-color 0.2s ease;
}

.immersa-footer--minimal .immersa-footer__minimal-widgets .immersa-social-block__link:hover,
.immersa-footer--minimal .immersa-footer__minimal-widgets .immersa-social-block__link:focus-visible {
  color: var(--immersa-footer-social-hover, #FFFFFF);
  background-color: var(--immersa-footer-border, rgba(255, 255, 255, 0.1));
  text-decoration: none;
  transform: none;
  opacity: 1;
}

.immersa-footer--minimal .immersa-footer__minimal-widgets .immersa-social-block__icon {
  width: 18px !important;
  height: 18px !important;
  display: block;
}

.immersa-footer--minimal .immersa-footer__minimal-widgets .immersa-social-block__label {
  display: none;
}

.immersa-footer--minimal .immersa-footer__bottom {
  justify-content: center;
  flex-direction: column;
  align-items: center;
  text-align: center;
  border-bottom: none;
  padding: var(--immersa-spacing-md, 1.5rem) 0;
  gap: var(--immersa-spacing-xs, 0.5rem);
}

.immersa-footer--minimal .immersa-footer__social,
.immersa-footer--minimal .immersa-social-links,
.immersa-footer--minimal .wp-block-social-links {
  justify-content: center !important;
}

.immersa-footer--minimal .immersa-footer__minimal-widgets .wp-block-social-links,
.immersa-footer--minimal .immersa-footer__minimal-widgets .wp-block-social-links.is-vertical,
.immersa-footer--minimal .immersa-footer__minimal-widgets .wp-block-social-links.is-layout-grid {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  width: auto !important;
  max-width: 100% !important;
  grid-template-columns: none !important;
}

.immersa-footer--minimal .immersa-footer__minimal-widgets .wp-block-social-links .wp-social-link,
.immersa-footer--minimal .immersa-footer__minimal-widgets .wp-block-social-links li.wp-social-link {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.immersa-footer--minimal .immersa-footer__minimal-widgets .wp-block-social-links .wp-social-link a,
.immersa-footer--minimal .immersa-footer__minimal-widgets .wp-block-social-links li.wp-social-link a {
  width: 36px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Alignment variants */
.immersa-footer--minimal.immersa-footer--align-left .immersa-footer__minimal-widgets,
.immersa-footer--minimal.immersa-footer--align-left .immersa-footer__bottom {
  text-align: left;
  justify-content: flex-start;
  align-items: flex-start;
}

.immersa-footer--minimal.immersa-footer--align-left .immersa-footer__social,
.immersa-footer--minimal.immersa-footer--align-left .immersa-social-links,
.immersa-footer--minimal.immersa-footer--align-left .wp-block-social-links,
.immersa-footer--minimal.immersa-footer--align-left .immersa-social-block__list {
  justify-content: flex-start !important;
}

.immersa-footer--minimal.immersa-footer--align-right .immersa-footer__minimal-widgets,
.immersa-footer--minimal.immersa-footer--align-right .immersa-footer__bottom {
  text-align: right;
  justify-content: flex-end;
  align-items: flex-end;
}

.immersa-footer--minimal.immersa-footer--align-right .immersa-footer__social,
.immersa-footer--minimal.immersa-footer--align-right .immersa-social-links,
.immersa-footer--minimal.immersa-footer--align-right .wp-block-social-links,
.immersa-footer--minimal.immersa-footer--align-right .immersa-social-block__list {
  justify-content: flex-end !important;
}

.immersa-footer--minimal.immersa-footer--align-center .immersa-footer__minimal-widgets,
.immersa-footer--minimal.immersa-footer--align-center .immersa-footer__bottom {
  text-align: center;
  justify-content: center;
  align-items: center;
}

.immersa-footer--minimal.immersa-footer--align-center .immersa-social-block__list {
  justify-content: center !important;
}

/* Center logo/media widgets when center alignment is selected. */
.immersa-footer--minimal.immersa-footer--align-center .custom-logo-link,
.immersa-footer--minimal.immersa-footer--align-center .widget_media_image a,
.immersa-footer--minimal.immersa-footer--align-center .wp-block-image a {
  display: inline-flex;
  justify-content: center;
  width: 100%;
}

.immersa-footer--minimal.immersa-footer--align-center .custom-logo-link img,
.immersa-footer--minimal.immersa-footer--align-center .widget_media_image img,
.immersa-footer--minimal.immersa-footer--align-center .wp-block-image img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* Avoid Customizer shortcut icon overlap with footer social/logo preview. */
body.customize-partial-edit-shortcuts-shown .immersa-footer .customize-partial-edit-shortcut {
  display: none !important;
}

.immersa-footer .customize-partial-edit-shortcut,
.immersa-footer [id^="customize-partial-edit-shortcut-"],
.immersa-footer .customize-partial-edit-shortcut-button {
  display: none !important;
}

/* ============================================
   Footer Branding
   ============================================ */

.immersa-footer-branding {
  text-align: center;
  padding: var(--immersa-spacing-sm, 1rem) 0;
  font-size: 0.875rem;
  color: var(--immersa-footer-text, #94a3b8);
  border-top: 1px solid var(--immersa-footer-border, #1e293b);
  margin-top: var(--immersa-spacing-sm, 1rem);
}

.immersa-footer-branding a {
  color: var(--immersa-accent, #38BDF8);
  text-decoration: none;
  font-weight: 500;
}

.immersa-footer-branding a:hover {
  text-decoration: underline;
}

@media (max-width: 768px) {
  .immersa-footer__bottom {
    justify-content: center;
    text-align: center;
  }
}
