/**
 * Guidee Footer – Desktop + Mobile Responsive
 * Version: 1.2.7 (2026-05-15 – Semantic color refactoring)
 */

/* OUTER CONTAINER – EDGE-TO-EDGE, FULL-WIDTH */
.guidee-footer-outer {
  background: var(--color-charcoal);
  color: var(--color-white);
  position: relative;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}

/* DESKTOP LAYOUT */
.guidee-footer-container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 60px;
}

/* Top section – logo left, rich content right */
.guidee-footer-top {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

/* Logo column – strict left alignment */
.guidee-footer-logo-column {
  flex: 1 1 280px;
  min-width: 280px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

/* CONSISTENT LOGO ADJUSTMENTS ON ALL DEVICES */
.guidee-footer-logo-column img,
.guidee-footer-outer .elementor-widget-theme-site-logo img,
.guidee-footer-mobile-top .elementor-widget-theme-site-logo img {
  content: url('../../icons/logo_guidee_white.png');
  width: 240px;
  height: auto;
  margin-left: -40px;
  margin-top: 40px;
  margin-bottom: -40px;
  transition: none;
  object-fit: contain;
}

/* Content column */
.guidee-footer-content-column {
  flex: 2 1 600px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

/* Split row – description + links */
.guidee-footer-split {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  padding: 0px;
}

/* Description */
.guidee-footer-description {
  flex: 1 1 50%;
  font-size: clamp(15px, 2.2vw, 17px);
  line-height: 1.75;
  color: var(--color-white);
}
.guidee-footer-description .elementor-widget-text-editor,
.guidee-footer-description p,
.guidee-footer-description * {
  color: var(--color-white);
}

/* Links column */
.guidee-footer-links {
  flex: 1 1 30%;
}
.guidee-footer-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.guidee-footer-links li {
  margin-bottom: 14px;
}

/* Social – pill icons with 2026 hover */
.guidee-footer-social {
  padding-left: 10px;
  margin-top: -20px;
}
.guidee-social-wrapper {
  display: flex;
  gap: 20px;
}
.guidee-social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  background: var(--color-white);
  border-radius: 9999px;
  color: var(--color-charcoal);
  font-size: 24px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  text-decoration: none;
}

/* Bottom section – copyright */
.guidee-footer-bottom {
  padding: 10px 0px 0px 0px;
  font-size: clamp(12px, 1.8vw, 13px);
  color: rgba(var(--color-white-rgb), 0.65);
  text-align: left;
}

/* ==========================================
   MOBILE LAYOUT
   ========================================== */
.mobile-footer-visible {
  flex-direction: column;
  gap: 48px;
}

/* Mobile Top */
.guidee-footer-mobile-top {
  display: flex;
  justify-content: flex-start;
  padding: 0px;
  text-align: left;
}

/* FINAL FIX: Force <a> to block + kill centering on all wrappers */
.guidee-footer-mobile-top .elementor-widget-theme-site-logo a,
.guidee-footer-mobile-top .elementor-widget-theme-site-logo .elementor-widget-container a,
.guidee-footer-mobile-top .elementor-widget-theme-site-logo .elementor-image-wrapper a {
  display: block;
  margin: 0;
  padding: 0;
  text-align: left;
  float: left;
}

/* Kill centering on ALL Elementor wrappers inside the mobile logo section */
.guidee-footer-mobile-top .elementor-widget-theme-site-logo *,
.guidee-footer-mobile-top .elementor-widget-theme-site-logo .elementor-widget-container *,
.guidee-footer-mobile-top .elementor-widget-theme-site-logo .elementor-image-wrapper * {
  margin: 0;
  text-align: left;
  justify-content: flex-start;
  align-self: flex-start;
}

/* Mobile Description */
.guidee-footer-mobile-description {
  text-align: left;
  padding: 0px;
  font-size: clamp(15px, 4vw, 17px);
  line-height: 1.75;
}
.guidee-footer-mobile-description .elementor-widget-text-editor,
.guidee-footer-mobile-description p,
.guidee-footer-mobile-description * {
  color: var(--color-white);
}

/* Mobile Links */
.guidee-footer-mobile-links {
  text-align: left;
  padding: 0px;
}
.guidee-footer-mobile-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
  max-width: 100%;
}
.guidee-footer-mobile-links li {
  margin-bottom: 12px;
}
.guidee-footer-mobile-links a {
  font-size: 16px;
  line-height: 1.6;
  color: var(--color-white);
  text-decoration: none;
  transition: color 0.2s ease;
}

/* Mobile Social */
.guidee-footer-mobile-social {
  display: flex;
  justify-content: flex-start;
  padding: 0 20px;
  gap: 24px;
  margin-left: -40px;
}

/* Mobile Bottom (general fallback) */
@media (max-width: 767px) {
  .guidee-footer-bottom {
    text-align: left;
  }
}

/* LOGO + DESCRIPTION ALIGNMENT – MOBILE MASTER */
@media (max-width: 767px) {
  .guidee-footer-mobile-top .elementor-widget-theme-site-logo img {
    margin-left: -30px;
    margin-top: 20px;
    margin-bottom: 0px;
  }
}

/* TABLET (768–1024px) */
@media (min-width: 768px) and (max-width: 1024px) {
  .guidee-footer-mobile-top .elementor-widget-theme-site-logo img {
    margin-left: -30px;
    margin-top: 20px;
    margin-bottom: -10px;
  }
}

/* CRITICAL LINK COLOUR FIX */
.guidee-footer-links a,
.guidee-footer-mobile-links a,
.guidee-footer-description a,
.guidee-footer-mobile-description a {
  color: var(--color-white);
  text-decoration: none;
  transition: color 0.2s ease;
}
.guidee-footer-links a:hover,
.guidee-footer-mobile-links a:hover,
.guidee-footer-description a:hover,
.guidee-footer-mobile-description a:hover {
  color: var(--color-soft-pink);
}

/* 2026 TRENDS & ACCESSIBILITY */
.guidee-footer-outer {
  overscroll-behavior: contain;
}
.guidee-social-link {
  aria-label: "Follow us on social media";
}

/* Desktop overrides */
@media (min-width: 768px) {
  .guidee-footer-split {
    flex-wrap: nowrap;
  }
  .guidee-footer-description,
  .guidee-footer-links {
    max-width: none;
  }
}

/* Final touch targets */
@media (max-width: 767px) {
  .guidee-social-link {
    width: 56px;
    height: 56px;
    font-size: 26px;
  }
}

/* ==========================================
   NEW: DESKTOP FOOTER – STRICT 1200PX
   ========================================== */
@media (min-width: 1025px) {
  .guidee-footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0px;
  }

  .elementor-section,
  .elementor-container,
  main,
  .site-main,
  .elementor-location-main,
  .site-content {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
  }

  .guidee-footer-top {
    padding: 0px;
  }

  .guidee-footer-bottom {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
  }

  .guidee-footer-logo-column img:hover {
    transform: none;
  }

  .guidee-social-link:hover {
    background: var(--color-soft-pink);
    color: var(--color-charcoal);
    transform: none;
  }
}

/* ==========================================
   NEW: REMOVE CLICK ON DESKTOP FOOTER LOGO
   ========================================== */
@media (min-width: 1025px) {
  .guidee-footer-logo-column a,
  .guidee-footer-logo-column .elementor-widget-theme-site-logo a,
  .guidee-footer-logo-column .elementor-image-wrapper a {
    pointer-events: none !important;
    cursor: default !important;
  }
}

/* ==========================================
   iPHONE / MOBILE FOOTER LOGO – 60px
   ========================================== */
@media (max-width: 767px) {
  .guidee-footer-mobile-top .elementor-widget-theme-site-logo img,
  .mobile-footer-visible .elementor-widget-theme-site-logo img {
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    position: absolute !important;
    pointer-events: none !important;
  }

  .guidee-footer-mobile-top .elementor-widget-theme-site-logo,
  .mobile-footer-visible .elementor-widget-theme-site-logo {
    background-image: url('../../icons/logo_guidee_white.png') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
    width: 200px !important;
    max-width: 200px !important;
    height: 60px !important;
    min-height: 60px !important;
    margin-left: -30px !important;
    margin-top: 10px !important;
    margin-bottom: -10px !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}