/**
 * DIRECTSKILLS — UNIFIED REDESIGNED FOOTER (BULLETPROOF)
 * Strict scoping to prevent overrides from app.min.css.
 * All headings pure white, all contact numbers properly sized,
 * inline SVGs for 100% reliable icons without missing glyphs.
 */

:root {
  --ds-footer-navy: #07152e;
  --ds-footer-navy-dark: #040d1e;
  --ds-footer-magenta: #a91a6a;
  --ds-footer-magenta-hover: #c21461;
  --ds-footer-magenta-gradient: linear-gradient(135deg, #ff3385 0%, #e11d74 50%, #b8145c 100%);
  --ds-footer-font: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

/* ==========================================================================
   FOOTER ROOT & STRICT SCOPED RESETS
   ========================================================================== */
.ds-footer {
  background: linear-gradient(180deg, #07152e 0%, #040d1e 100%) !important;
  color: #cbd5e1 !important;
  padding-top: clamp(54px, 5.5vw, 76px) !important;
  padding-bottom: 28px !important;
  position: relative !important;
  overflow: hidden !important;
  font-family: var(--ds-footer-font) !important;
  font-size: 0.86rem !important;
  line-height: 1.6 !important;
  width: 100% !important;
}

.ds-footer * {
  box-sizing: border-box !important;
}

/* Global text resets inside ds-footer */
.ds-footer p,
.ds-footer span,
.ds-footer a,
.ds-footer li,
.ds-footer div {
  color: #cbd5e1;
  font-family: var(--ds-footer-font) !important;
}

/* Headings in ds-footer: pure white, elegant, no black text EVER */
.ds-footer h1,
.ds-footer h2,
.ds-footer h3,
.ds-footer h4,
.ds-footer h5,
.ds-footer h6,
.ds-footer .ds-footer-heading {
  color: #ffffff !important;
  font-family: var(--ds-footer-font) !important;
  font-size: 0.98rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.3 !important;
  text-transform: none !important;
  margin-top: 0 !important;
  margin-bottom: 14px !important;
  position: relative;
  padding-bottom: 8px;
  display: block !important;
}

.ds-footer-heading::after {
  content: "" !important;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 34px;
  height: 2px;
  background: var(--ds-footer-magenta);
  border-radius: 999px;
}

/* Ambient Glows */
.ds-footer-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(80px);
  opacity: 0.28;
  z-index: 1;
}

.ds-footer-glow.glow-left {
  bottom: 0;
  left: -80px;
  width: 400px;
  height: 350px;
  background: #0ea5e9;
}

.ds-footer-glow.glow-right {
  bottom: -40px;
  right: -60px;
  width: 450px;
  height: 400px;
  background: #e11d74;
}

/* Container */
.ds-footer .ds-container {
  width: 100%;
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(20px, 3vw, 40px);
  padding-right: clamp(20px, 3vw, 40px);
  position: relative;
  z-index: 2;
}

/* 4-Column Grid */
.ds-footer-grid {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 32px 28px;
  position: relative;
  z-index: 2;
  margin-bottom: clamp(36px, 5vw, 54px);
}

@media (min-width: 600px) {
  .ds-footer-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 32px 30px;
  }
}

@media (min-width: 992px) {
  .ds-footer-grid {
    grid-template-columns: 1.4fr 1.05fr 1.05fr 1.35fr !important;
    gap: 36px 32px;
  }
}

/* Margin helpers */
.ds-footer-block {
  margin-bottom: 20px;
}

.ds-mt-col {
  margin-top: 24px;
}

/* Brand & Description */
.ds-footer-logo-wrap {
  display: inline-block;
  margin-bottom: 14px;
}

.ds-footer-logo {
  height: 42px;
  width: auto;
  max-width: 190px;
  object-fit: contain;
  display: block;
}

.ds-footer-desc {
  font-size: 0.86rem !important;
  line-height: 1.6 !important;
  color: #94a3b8 !important;
  margin-top: 0 !important;
  margin-bottom: 20px !important;
  max-width: 320px;
}

.ds-footer-address {
  font-size: 0.86rem !important;
  line-height: 1.65 !important;
  color: #cbd5e1 !important;
  margin: 0 !important;
}

/* Contact List (Phone, WhatsApp, Email) - Fixed Font Size & Contrast */
.ds-footer-contact-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.ds-footer-contact-list li {
  font-size: 0.86rem !important;
  line-height: 1.5 !important;
  color: #cbd5e1 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
}

.ds-footer-contact-list .ds-contact-lbl {
  font-size: 0.86rem !important;
  font-weight: 500 !important;
  color: #94a3b8 !important;
  margin-right: 6px !important;
  display: inline !important;
}

.ds-footer-contact-list a {
  font-size: 0.86rem !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  display: inline !important;
  transition: color 0.2s ease !important;
  word-break: break-all;
}

.ds-footer-contact-list a:hover {
  color: #ff75b9 !important;
  text-decoration: underline !important;
}

/* Nav links in columns 2 & 3 */
.ds-footer-nav {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
}

.ds-footer-nav li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ds-footer-nav a {
  font-size: 0.86rem !important;
  color: #94a3b8 !important;
  text-decoration: none !important;
  transition: color 0.2s ease, transform 0.2s ease !important;
  display: inline-block !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
}

.ds-footer-nav a:hover {
  color: #ffffff !important;
  transform: translateX(4px) !important;
}

/* Social media icons: Pink circular backgrounds + white vector icons */
.ds-footer-socials {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
}

.ds-social-icon {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: var(--ds-footer-magenta) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(169, 26, 106, 0.35) !important;
  transition: all 0.22s ease !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
}

.ds-social-icon svg {
  width: 16px !important;
  height: 16px !important;
  fill: #ffffff !important;
  color: #ffffff !important;
  display: block !important;
  flex-shrink: 0 !important;
}

.ds-social-icon:hover {
  background: var(--ds-footer-magenta-hover) !important;
  border-color: rgba(255, 255, 255, 0.5) !important;
  color: #ffffff !important;
  transform: translateY(-2px) scale(1.08) !important;
  box-shadow: 0 8px 22px rgba(169, 26, 106, 0.55) !important;
}

/* Why Direct Skills bullets */
.ds-footer-bullets {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.ds-footer-bullets li {
  position: relative !important;
  padding-left: 18px !important;
  font-size: 0.86rem !important;
  line-height: 1.45 !important;
  color: #cbd5e1 !important;
  margin: 0 !important;
}

.ds-footer-bullets li::before {
  content: "•" !important;
  position: absolute !important;
  left: 2px !important;
  top: 0 !important;
  color: #ffce33 !important;
  font-size: 1.15rem !important;
  line-height: 1 !important;
}

/* Contact card on right */
.ds-footer-contact-card {
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 18px !important;
  padding: 18px !important;
  display: flex !important;
  flex-direction: column !important;
}

.ds-contact-card-header {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}

.ds-contact-avatar {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: var(--ds-footer-magenta-gradient) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.ds-contact-avatar svg {
  width: 18px !important;
  height: 18px !important;
  stroke: #ffffff !important;
}

.ds-contact-title {
  display: block !important;
  font-size: 0.88rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  line-height: 1.2 !important;
}

.ds-contact-sub {
  display: block !important;
  font-size: 0.74rem !important;
  color: #94a3b8 !important;
  margin-top: 2px !important;
}

.ds-contact-details {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  margin-bottom: 14px !important;
}

.ds-footer .ds-contact-phone,
.ds-footer a.ds-contact-phone {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 1.02rem !important;
  font-weight: 750 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  letter-spacing: 0.01em !important;
  transition: color 0.2s ease !important;
}

.ds-footer .ds-contact-phone:hover {
  color: #ff75b9 !important;
}

.ds-footer .ds-contact-phone svg {
  color: #ff75b9 !important;
  fill: #ff75b9 !important;
  width: 15px !important;
  height: 15px !important;
}

.ds-footer .ds-contact-hours {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  color: #cbd5e1 !important;
}

.ds-footer .ds-contact-hours svg {
  color: #93c5fd !important;
  stroke: #93c5fd !important;
  width: 14px !important;
  height: 14px !important;
}

.ds-footer a.ds-btn-contact-outline {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 8px 16px !important;
  border-radius: 9999px !important;
  border: 1.5px solid rgba(255, 255, 255, 0.35) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all 0.22s ease !important;
}

.ds-footer a.ds-btn-contact-outline span {
  display: inline !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  color: inherit !important;
  font: inherit !important;
}

.ds-footer a.ds-btn-contact-outline svg {
  display: inline-block !important;
  color: #ffffff !important;
  stroke: currentColor !important;
  flex-shrink: 0 !important;
  transition: transform 0.2s ease !important;
  width: 14px !important;
  height: 14px !important;
}

.ds-footer a.ds-btn-contact-outline:hover {
  background: rgba(255, 255, 255, 0.18) !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
}

.ds-footer a.ds-btn-contact-outline:hover svg {
  transform: translateX(3px) !important;
}

/* Bottom Bar */
.ds-footer-bottom {
  position: relative !important;
  z-index: 2 !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 10px !important;
  font-size: 0.84rem !important;
  color: #cbd5e1 !important;
}

@media (min-width: 768px) {
  .ds-footer-bottom {
    flex-direction: row !important;
    justify-content: space-between !important;
    text-align: left !important;
  }
}

.ds-copyright {
  margin: 0 !important;
  color: #cbd5e1 !important;
  font-size: 0.84rem !important;
  font-weight: 500 !important;
}

.ds-footer-legal-links {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px 10px !important;
  font-size: 0.84rem !important;
}

.ds-footer-legal-links a {
  color: #cbd5e1 !important;
  text-decoration: none !important;
  font-size: 0.84rem !important;
  font-weight: 500 !important;
  transition: color 0.2s ease !important;
}

.ds-footer-legal-links a:hover {
  color: #ffffff !important;
  text-decoration: underline !important;
}

.ds-footer-sep {
  color: rgba(255, 255, 255, 0.3) !important;
  user-select: none !important;
}
