/**
 * DES Footer Builder — Front-end Styles
 *
 * @author    David Escudero Digital Studio <soporte@davidescudero.com>
 * @copyright 2007-2026 David Escudero Digital Studio
 * @license   http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
 */

/* ============================================================
   Footer Content Section
============================================================ */
.desfooter-content {
  width: 100%;
}

/* Grid: equal-width flex columns */
.desfooter-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
}

.desfooter-col {
  flex: 1;
  min-width: 160px;
}

/* Explicit bootstrap-style width overrides (col-1 through col-12) */
.desfooter-col-1  { flex: 0 0 8.333%; max-width: 8.333%; }
.desfooter-col-2  { flex: 0 0 16.666%; max-width: 16.666%; }
.desfooter-col-3  { flex: 0 0 25%; max-width: 25%; }
.desfooter-col-4  { flex: 0 0 33.333%; max-width: 33.333%; }
.desfooter-col-5  { flex: 0 0 41.666%; max-width: 41.666%; }
.desfooter-col-6  { flex: 0 0 50%; max-width: 50%; }
.desfooter-col-7  { flex: 0 0 58.333%; max-width: 58.333%; }
.desfooter-col-8  { flex: 0 0 66.666%; max-width: 66.666%; }
.desfooter-col-9  { flex: 0 0 75%; max-width: 75%; }
.desfooter-col-10 { flex: 0 0 83.333%; max-width: 83.333%; }
.desfooter-col-11 { flex: 0 0 91.666%; max-width: 91.666%; }
.desfooter-col-12 { flex: 0 0 100%; max-width: 100%; }

/* ============================================================
   Column Title
============================================================ */
.desfooter-col-title {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0 0 16px;
  padding-bottom: 8px;
}

/* ============================================================
   Links list
============================================================ */
.desfooter-link-list {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
}

.desfooter-link-list li {
  margin: 0;
  padding: 2px 0;
}

.desfooter-link-list a {
  font-size: 13px;
  transition: opacity .15s;
}

.desfooter-link-list a:hover {
  opacity: .7;
}

/* ============================================================
   HTML / Text blocks
============================================================ */
.desfooter-html-block,
.desfooter-text-block {
  font-size: 13px;
  line-height: 1.6;
  margin-bottom: 16px;
}

.desfooter-html-block p:last-child,
.desfooter-text-block p:last-child {
  margin-bottom: 0;
}

/* ============================================================
   Footer Copy (copyright bar)
============================================================ */
.desfooter-copy {
  width: 100%;
}

.desfooter-copy-grid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.desfooter-copy-col {
  display: flex;
  align-items: center;
  gap: 12px;
}

.desfooter-copy-col:last-child {
  margin-left: auto;
}

.desfooter-copy-text {
  font-size: 13px;
  margin: 0;
}

.desfooter-copy-links {
  display: flex;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.desfooter-copy-links a {
  font-size: 18px;
  transition: opacity .15s;
}

.desfooter-copy-links a:hover {
  opacity: .7;
}

/* ============================================================
   Responsive
============================================================ */
@media (max-width: 767px) {
  .desfooter-grid {
    flex-direction: column;
    gap: 24px;
  }

  .desfooter-col,
  .desfooter-col-1,
  .desfooter-col-2,
  .desfooter-col-3,
  .desfooter-col-4,
  .desfooter-col-5,
  .desfooter-col-6,
  .desfooter-col-7,
  .desfooter-col-8,
  .desfooter-col-9,
  .desfooter-col-10,
  .desfooter-col-11,
  .desfooter-col-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .desfooter-copy-grid {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .desfooter-copy-col:last-child {
    margin-left: 0;
  }
}
