/* ═══════════════════════════════════════════════════════════════════════════
   DA Custom Footer — pixel-match to dianapps-rebranding Next.js footer
   ═══════════════════════════════════════════════════════════════════════════ */

/* Hide existing Porto/Elementor footer */
.footer-wrapper { display: none !important; }

/* ── Reset + base ──────────────────────────────────────────────────────── */
#da-footer * { box-sizing: border-box; }
#da-footer a { text-decoration: none !important; }

/* ── Container ─────────────────────────────────────────────────────────── */
#da-footer {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  color: #333;
}

/* ════════════════════════════════════════════════════════════════════════
   TOP SECTION — white background, logo + badges + locations
   ════════════════════════════════════════════════════════════════════════ */
#da-footer-top {
  flex: 0 0 auto;
  background: #fff;
  width: 100%;
  position: relative;
  z-index: 3;
}

.da-footer__top-inner {
  padding: 0 100px;
  max-width: 1600px;
  margin: 0 auto;
}

/* Logo + Badges row */
.da-footer__top-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  border-bottom: 1px solid #e0e0e0;
  padding: 40px 0 36px;
}

.da-footer__logo-box {
  width: 207px;
  height: 54px;
  flex-shrink: 0;
}

.da-footer__logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.da-footer__badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 32px;
  flex: 1;
}

.da-footer__badge-img {
  width: 80px;
  height: auto;
  object-fit: contain;
  display: block;
  transform: translateZ(0);
}

/* Locate Us */
.da-footer__locations {
  padding: 21px 0 50px;
}

.da-footer__locations-inner {
  padding: 0;
  max-width: none;
  margin: 0;
}

.da-footer__locations-heading {
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #1E3A8A !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  line-height: 22px !important;
}

.da-footer__locations-grid {
  display: flex;
  gap: 1%;
  align-items: flex-start;
  flex-wrap: wrap;
}

.da-footer__location-item {
  width: 196px;
  flex: 1;
  padding: 8px;
  min-height: 90px;
}

.da-footer__location-city {
  font-size: 18px !important;
  font-weight: 500 !important;
  color: #060821 !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

.da-footer__location-address {
  font-size: 16px;
  font-weight: 400;
  color: #333;
  line-height: 22px;
  letter-spacing: -0.2px;
  white-space: pre-line;
  margin: 0;
}

/* ════════════════════════════════════════════════════════════════════════
   BOTTOM SECTION — gradient bg, scroll-reveal fixed effect
   ════════════════════════════════════════════════════════════════════════ */
#da-footer-bottom {
  flex: 1;
  width: 100%;
  background: linear-gradient(90.13deg, #FFF0E6 0.12%, #EEF2FF 98.69%);
  position: relative;
  z-index: 2;
  padding: 32px 0;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#da-footer-bottom.active {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1;
  will-change: transform;
  -webkit-overflow-scrolling: touch;
}

/* Links outer */
.da-footer__links-outer {
  padding: 0 100px;
}

/* Links row — 3 column groups */
.da-footer__links-wrap {
  display: flex;
  flex-direction: row;
  gap: 112px;
  max-width: 1600px;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  align-items: flex-start;
}

/* Quick Links (2 sub-cols, 24% width) */
.da-footer__links-left {
  display: flex;
  flex-direction: row;
  gap: 32px;
  width: 24%;
  flex-shrink: 0;
  border-bottom: 1px solid #E8E8E8;
  padding-bottom: 10px;
}

/* Services (2 sub-cols, 37% width) */
.da-footer__links-right {
  display: flex;
  flex-direction: row;
  gap: 32px;
  width: 37%;
  flex-shrink: 0;
  border-bottom: 1px solid #E8E8E8;
}

/* Follow Us */
.da-footer__social { width: 21%; flex-shrink: 0; }

/* Column heading */
.da-footer__links-heading {
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #1E3A8A !important;
  height: 30px;
  margin: 0 0 6px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  line-height: 22px !important;
  display: flex;
  align-items: center;
}

/* Follow Us heading has extra margin */
.da-footer__social .da-footer__links-heading { margin: 0 0 14px !important; }

/* Link lists */
.da-footer__links-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 0 10px !important;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Services list has slightly larger gap */
.da-footer__links-right .da-footer__links-list { gap: 24px; }

.da-footer__links-list li {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 !important;
}

.da-footer__links-list li::before {
  content: '•';
  color: #333;
  font-size: 16px;
  line-height: 1;
  flex-shrink: 0;
}

.da-footer__links-list a {
  color: #333 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 24px;
  letter-spacing: -0.2px;
  position: relative;
  transition: color 0.2s ease;
}

.da-footer__links-list a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 1.5px;
  background-color: #1E3A8A;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.da-footer__links-list a:hover { color: #1E3A8A !important; }
.da-footer__links-list a:hover::after { transform: scaleX(1); }

/* Social grid */
.da-footer__social-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 32px;
  margin-left: 16px;
}

@media (min-width: 900px) {
  .da-footer__social-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    margin-left: 16px;
  }
}

.da-footer__social-item a {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #333 !important;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: -0.2px;
  position: relative;
  padding-bottom: 2px;
  transition: color 0.2s ease;
}

.da-footer__social-item a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background-color: #1E3A8A;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.da-footer__social-item a:hover { color: #1E3A8A !important; }
.da-footer__social-item a:hover::after { transform: scaleX(1); }

.da-footer__social-icon {
  width: 24px;
  height: 24px;
  object-fit: contain;
  flex-shrink: 0;
}

/* Legal bar */
.da-footer__legal-outer { padding: 0 100px; }

.da-footer__legal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  padding: 21px 0 0;
  max-width: 1600px;
  margin: 0 auto;
}

.da-footer__copyright {
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 24px !important;
  color: #333 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
}

.da-footer__legal-links {
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
}

.da-footer__legal-links a {
  color: #333 !important;
  font-size: 16px !important;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: -0.2px;
  padding: 0 12px;
  position: relative;
  transition: color 0.2s ease;
}

.da-footer__legal-links a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 12px;
  right: 12px;
  height: 1px;
  background-color: #1E3A8A;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.da-footer__legal-links a:first-child { padding-left: 0; }
.da-footer__legal-links a:first-child::after { left: 0; }
.da-footer__legal-links a:hover { color: #1E3A8A !important; }
.da-footer__legal-links a:hover::after { transform: scaleX(1); }

.da-footer__legal-divider {
  display: inline-block;
  height: 24px;
  width: 1px;
  background: #333;
  vertical-align: middle;
  flex-shrink: 0;
}

/* ════════════════════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════════════════════ */

/* Wide screens — let columns grow to fill */
@media (min-width: 1440px) {
  .da-footer__links-left { flex: 1 !important; }
  .da-footer__social     { flex: 1 !important; }
  .da-footer__links-outer { display: flex; justify-content: center; }
}

@media (max-width: 1300px) {
  .da-footer__links-wrap { gap: 70px; }
  .da-footer__social { width: 25%; }
}

@media (max-width: 1200px) {
  .da-footer__links-wrap { gap: 60px; }
  .da-footer__social { width: 30%; }
  /* Next.js: nav links 14px, legal 12px up to lg (1200px) */
  .da-footer__links-list a { font-size: 14px !important; }
  .da-footer__copyright { font-size: 12px !important; }
  .da-footer__legal-links a { font-size: 12px !important; }
}

@media (max-width: 1180px) {
  .da-footer__top-inner,
  .da-footer__locations-inner,
  .da-footer__links-outer,
  .da-footer__legal-outer { padding: 0 20px; }
  .da-footer__links-wrap { gap: 30px; }
  .da-footer__links-left { width: 25%; gap: 0; }
}

@media (max-width: 900px) {
  /* Disable scroll-reveal on mobile */
  #da-footer-top { position: relative !important; }
  #da-footer-bottom,
  #da-footer-bottom.active { position: relative !important; }

  .da-footer__top-inner,
  .da-footer__locations-inner,
  .da-footer__links-outer,
  .da-footer__legal-outer { padding: 0 16px; }

  /* Top box — remove top padding on mobile */
  .da-footer__top-box { padding-top: 0 !important; }

  .da-footer__logo-box { display: none !important; }
  .da-footer__badges { flex: 1 !important; justify-content: center; }
  .da-footer__badge-img { height: 70px; flex: 1 !important; }

  /* Locations */
  .da-footer__locations-grid { flex-wrap: wrap; gap: 10px 20px; }
  .da-footer__location-item { width: 45% !important; flex: none; padding: 0 !important; min-height: 0 !important; }
  .da-footer__location-city    { font-size: 16px !important; }
  .da-footer__location-address { font-size: 13px !important; }

  /* Links columns */
  .da-footer__links-wrap {
    flex-direction: column !important;
    gap: 20px !important;
    padding-top: 0;
  }

  .da-footer__links-left,
  .da-footer__links-right {
    border-bottom: none !important;
    width: 100% !important;
    gap: 200px;
  }

  /* Link list — smaller gap + font on mobile */
  .da-footer__links-list { gap: 12px !important; }
  .da-footer__links-right .da-footer__links-list { gap: 12px !important; }
  .da-footer__links-list a { font-size: 14px !important; line-height: 20px !important; }

  /* Social */
  .da-footer__social { width: 100% !important; }
  .da-footer__social .da-footer__links-heading { margin: 0 0 16px !important; }
  .da-footer__social-grid { display: flex !important; flex-wrap: wrap !important; gap: 20px 284px !important; margin-left: 16px !important; }
  .da-footer__social-item { width: 112px !important; }

  /* Legal */
  .da-footer__legal { justify-content: center; }
  .da-footer__copyright { text-align: center !important; font-size: 11px !important; line-height: 24px !important; }
  .da-footer__legal-links { justify-content: center; }
  .da-footer__legal-links a { font-size: 12px !important; }
}

@media (max-width: 800px) {
  .da-footer__links-left,
  .da-footer__links-right { gap: 160px; }
  .da-footer__social-grid { gap: 20px 238px !important; }
}

@media (max-width: 700px) {
  .da-footer__links-left,
  .da-footer__links-right { gap: 120px; }
  .da-footer__social-grid { gap: 20px 194px !important; }
}

@media (max-width: 600px) {
  .da-footer__links-left,
  .da-footer__links-right { gap: 80px; }
  .da-footer__social-grid { gap: 20px 154px !important; }
}

@media (max-width: 540px) { .da-footer__badges { gap: 20px 80px !important; } }

@media (max-width: 500px) {
  .da-footer__links-left,
  .da-footer__links-right { gap: 16px; }
  .da-footer__social-grid { gap: 20px 69px !important; }
}

@media (max-width: 420px) { .da-footer__badges { gap: 20px 70px !important; } }

@media (max-width: 400px) {
  .da-footer__badges { justify-content: center !important; gap: 30px 40px !important; }
  .da-footer__social-grid { gap: 20px 62px !important; }
}

@media (max-width: 350px) { .da-footer__social-grid { gap: 20px 34px !important; } }
