/**
 * Guidee Footer – Desktop + Mobile Responsive
 * Version: 1.2.1
 * Last modified: 2026-03-26
 * DUPLICITY ANALYSIS (v1.2.1): :root, visibility switch, tablet media queries, scroll fix removed (centralized). All footer-specific rules preserved exactly.
 */
/* OUTER CONTAINER – EDGE-TO-EDGE, FULL-WIDTH */
.guidee-footer-outer {
  background: var(--guidee-charcoal) !important;
  color: var(--guidee-white);
  padding: 80px 5% 40px;
  position: relative;
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
}
/* REMOVE ALL PADDING ON MOBILE for .guidee-footer-outer */
@media (max-width: 767px) {
  .guidee-footer-outer.elementor-element.elementor-element-0fbae91.guidee-footer-outer.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded,
  .guidee-footer-outer {
    padding: 0 !important;
  }
}
/* REMOVE ALL PADDING ON TABLET + DESKTOP for .guidee-footer-outer */
@media (min-width: 768px) {
  .guidee-footer-outer.elementor-element.elementor-element-0fbae91.guidee-footer-outer.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded,
  .elementor-element.elementor-element-0fbae91.guidee-footer-outer {
    padding: 0 !important;
  }
}
/* DESKTOP + TABLET: REMOVE GAP/PADDING FROM TOP CONTAINER */
@media (min-width: 768px) {
  .guidee-footer-top,
  .elementor-element.elementor-element-2c87dec,
  .elementor-element.elementor-element-2c87dec.guidee-footer-top.e-con-full.e-flex.e-con.e-child {
    padding: 0 !important;
    gap: 0 !important;
  }
}
/* DESKTOP + TABLET: REMOVE GAP/PADDING FROM SPLIT CONTAINER */
@media (min-width: 768px) {
  .guidee-footer-split,
  .elementor-element.elementor-element-6d06888,
  .elementor-element.elementor-element-6d06888.guidee-footer-split.e-con-full.e-flex.e-con.e.child {
    padding: 0 !important;
    gap: 0 !important;
  }
}
/* DESKTOP: REMOVE PADDING FROM SPECIFIC DESKTOP CONTAINER */
@media (min-width: 768px) {
  .elementor-element.elementor-element-c18ee5f,
  .elementor-element.elementor-element-c18ee5f.e-con-full.desktop-footer-visible.elementor-hidden-mobile.e-flex.e-con.e.child {
    padding: 0 !important;
  }
}
/* DESKTOP: REMOVE PADDING FROM MAIN FOOTER CONTAINER */
@media (min-width: 768px) {
  .elementor-element.elementor-element-c43dd71,
  .elementor-element.elementor-element-c43dd71.e-con-full.guidee-footer-container.e-flex.e-con.e.child {
    padding: 0 !important;
  }
}
/* MOBILE + TABLET: REMOVE ANY PADDING (including 10px) FROM THE EXACT CONTAINER */
@media (max-width: 1023px) {
  .elementor-element.elementor-element-c7a7bc3,
  .elementor-element.elementor-element-c7a7bc3.e-con-full.elementor-hidden-desktop.e-flex.e-con.e.child {
    padding: 0 !important;
  }
}
/* MOBILE + TABLET: APPLY EXACT 20PX PADDING TO THE BOTTOM CONTAINER */
@media (max-width: 1023px) {
  .elementor-element.elementor-element-8cfe44f,
  .elementor-element.elementor-element-8cfe44f.e-con-full.guidee-footer-bottom.e-flex.e-con.e.child {
    padding: 20px 20px !important;
  }
}
/* TABLET: REMOVE PADDING FROM MOBILE-SOCIAL CONTAINER (exact class you gave) */
@media (min-width: 768px) and (max-width: 1023px) {
  .elementor-element.elementor-element-202ad5e,
  .elementor-element.elementor-element-202ad5e.e-con-full.guidee-footer-mobile-social.e-flex.e-con.e-child {
    padding: 0 !important;
  }
}
/* FORCE WHITE COLOR FOR SPECIFIC TEXT EDITOR WIDGET */
.elementor-element.elementor-element-b3a9369,
.elementor-element.elementor-element-b3a9369 .elementor-widget-container,
.elementor-element.elementor-element-b3a9369 .elementor-text-editor,
.elementor-element.elementor-element-b3a9369 p,
.elementor-element.elementor-element-b3a9369 span,
.elementor-element.elementor-element-b3a9369 * {
  color: #ffffff !important;
}
.elementor-element.elementor-element-0fb82df,
.elementor-element.elementor-element-0fb82df .elementor-widget-container,
.elementor-element.elementor-element-0fb82df .elementor-text-editor,
.elementor-element.elementor-element-0fb82df p,
.elementor-element.elementor-element-0fb82df span,
.elementor-element.elementor-element-0fb82df * {
  color: #ffffff !important;
}
/* DESKTOP LAYOUT (Wirecutter-inspired + brand polish) */
.guidee-footer-container {
  max-width: 1400px;
  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 !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
}
/* 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('https://guidee.co.uk/wp-content/uploads/2026/03/logo_guidee_white.png') !important;
  width: 240px !important;
  height: auto !important;
  margin-left: -40px !important;
  margin-top: 40px !important;
  margin-bottom: -20px !important;
  transition: transform 0.2s ease;
}
/* Content column */
.guidee-footer-content-column {
  flex: 2 1 600px;
  display: flex !important;
  flex-direction: column !important;
  gap: 40px !important;
}
/* Split row – description + links */
.guidee-footer-split {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
}
/* Description – rich text, Wirecutter style + FORCE WHITE COLOR */
.guidee-footer-description {
  flex: 1 1 50% !important;
  font-size: clamp(15px, 2.2vw, 17px) !important;
  line-height: 1.75 !important;
  color: #ffffff !important;
}
.guidee-footer-description .elementor-widget-text-editor,
.guidee-footer-description p,
.guidee-footer-description * {
  color: #ffffff !important;
}
/* Links column */
.guidee-footer-links {
  flex: 1 1 30% !important;
}
.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 !important;
}
.guidee-social-wrapper {
  display: flex !important;
  gap: 20px !important;
}
.guidee-social-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 52px !important;
  height: 52px !important;
  background: var(--guidee-white) !important;
  border-radius: 9999px !important;
  color: var(--guidee-charcoal) !important;
  font-size: 24px !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  text-decoration: none !important;
}
/* Bottom section – copyright (NO DIVIDER LINE) */
.guidee-footer-bottom {
  padding: 30px 0 30px 40px !important;
  font-size: clamp(12px, 1.8vw, 13px);
  color: rgba(255,255,255,0.65);
  text-align: left !important;
}
/* ==========================================
   MOBILE LAYOUT – ALL LEFT ALIGNED + 20PX SIDE PADDING
   ========================================== */
.mobile-footer-visible {
  flex-direction: column !important;
  gap: 48px !important;
}
/* Mobile Top – logo LEFT aligned + EXACT 20PX SIDE PADDING */
.guidee-footer-mobile-top {
  display: flex !important;
  justify-content: flex-start !important;
  padding: 0 20px 24px 20px !important;
  text-align: left !important;
}
/* 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 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  float: left !important;
}
/* 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 !important;
  text-align: left !important;
  justify-content: flex-start !important;
  align-self: flex-start !important;
}
/* Mobile Description – EXACT 20PX SIDE PADDING */
.guidee-footer-mobile-description {
  text-align: left !important;
  padding: 0 20px !important;
  font-size: clamp(15px, 4vw, 17px) !important;
  line-height: 1.75 !important;
}
.guidee-footer-mobile-description .elementor-widget-text-editor,
.guidee-footer-mobile-description p,
.guidee-footer-mobile-description * {
  color: #ffffff !important;
}
/* Mobile Links – EXACT 20PX SIDE PADDING */
.guidee-footer-mobile-links {
  text-align: left !important;
  padding: 0 20px !important;
}
.guidee-footer-mobile-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
  max-width: 100% !important;
}
.guidee-footer-mobile-links li {
  margin-bottom: 12px;
}
.guidee-footer-mobile-links a {
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}
/* Mobile Social – EXACT 20PX SIDE PADDING + 20PX WRAPPER SHIFT */
.guidee-footer-mobile-social {
  display: flex !important;
  justify-content: flex-start !important;
  padding: 0 20px !important;
  gap: 24px !important;
}
@media (max-width: 767px) {
  .guidee-footer-mobile-social .guidee-social-wrapper {
    margin-left: -20px !important;
  }
}
/* Mobile Bottom – EXACT 20PX SIDE PADDING (general fallback) */
@media (max-width: 767px) {
  .guidee-footer-bottom {
    text-align: left !important;
  }
}
/* MOVE DESCRIPTION 30PX HIGHER ON MOBILE */
@media (max-width: 767px) {
  .guidee-footer-mobile-description {
    margin-top: -30px !important;
  }
}
/* LOGO + DESCRIPTION ALIGNMENT – MOBILE MASTER (now also on tablet) */
@media (max-width: 767px) {
  .guidee-footer-mobile-top .elementor-widget-theme-site-logo img {
    margin-left: -30px !important;
    margin-top: 40px !important;
    margin-bottom: 0px !important;
  }
  .guidee-footer-mobile-description {
    margin-top: -30px !important;
  }
}
/* TABLET (768–1023px) – EXACT SAME AS MOBILE MASTER */
@media (min-width: 768px) and (max-width: 1023px) {
  .guidee-footer-mobile-top .elementor-widget-theme-site-logo img {
    margin-left: -30px !important;
    margin-top: 40px !important;
    margin-bottom: 0px !important;
  }
  .guidee-footer-mobile-description {
    margin-top: -30px !important;
  }
}
/* CRITICAL LINK COLOUR FIX (stronger specificity) */
.guidee-footer-links a,
.guidee-footer-mobile-links a,
.guidee-footer-description a,
.guidee-footer-mobile-description a {
  color: #ffffff !important;
  text-decoration: none !important;
  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(--guidee-spring-green) !important;
}
/* 2026 TRENDS & ACCESSIBILITY */
.guidee-footer-outer {
  overscroll-behavior: contain !important;
}
.guidee-social-link {
  aria-label: "Follow us on social media" !important;
}
/* Desktop overrides */
@media (min-width: 768px) {
  .guidee-footer-split {
    flex-wrap: nowrap !important;
  }
  .guidee-footer-description,
  .guidee-footer-links {
    max-width: none !important;
  }
}
/* Final touch targets */
@media (max-width: 767px) {
  .guidee-social-link {
    width: 56px !important;
    height: 56px !important;
    font-size: 26px !important;
  }
}
/* NEW: DESKTOP FOOTER – STRICT 1200PX UNIFIED WIDTH + 40PX GAPS (desktop only) */
@media (min-width: 1024px) {
  .guidee-footer-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 40px !important;
  }
  /* Body content alignment – exact same 1200px */
  .elementor-section,
  .elementor-container,
  main,
  .site-main,
  .elementor-location-main,
  .site-content {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .guidee-footer-top {
    padding: 0 40px !important;
  }
  /* COPYRIGHT FIX: Align © paragraph with rest of site + exact 20px padding */
  .guidee-footer-bottom {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 30px 20px !important;
  }
  /* DESKTOP: Remove zoom-in hover effects */
  .guidee-footer-logo-column img:hover {
    transform: none !important;
  }
  /* SOCIAL ICONS HOVER: Green background effect (no zoom) */
  .guidee-social-link:hover {
    background: var(--guidee-spring-green) !important;
    color: var(--guidee-charcoal) !important;
    transform: none !important;
  }
  /* 80px right padding on the exact description box you gave */
  .elementor-element.elementor-element-a7368f6,
  .elementor-element.elementor-element-a7368f6.guidee-footer-description {
    padding-right: 80px !important;
  }
}