/**
 * 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;
  }
}

/* ============================================================
   Cestas de Navidad — diseño del footer (override del tema).
   Scopeado bajo #footer para ganar al CSS generado del módulo
   (custom-*.css), que carga después con fondo blanco por defecto.
   ============================================================ */
#footer .desfooter-content {
  background: var(--brand-red);
  color: #fff;
  padding-top: 56px;
  padding-bottom: 44px;
}

#footer .desfooter-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 48px;
  align-items: start;
}
#footer .desfooter-col { min-width: 0; }

#footer .desfooter-col-title {
  margin: 0 0 20px;
  font: 600 16px/1.3 var(--fuente);
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #fff;
}

/* Listas de enlaces */
#footer .desfooter-link-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 13px;
}
#footer .desfooter-link-list a {
  color: #fff;
  font: 500 14px/1.3 var(--fuente);
  text-transform: uppercase;
  letter-spacing: .02em;
  text-decoration: none;
  transition: opacity .2s ease;
}
#footer .desfooter-link-list a:hover { opacity: .7; }

/* Columna "sobre nosotros" (logo + texto + dirección) */
#footer .desfooter-about {
  margin: 0 0 20px;
  font: 400 14px/1.65 var(--fuente);
  color: rgba(255, 255, 255, .88);
  max-width: 320px;
}
#footer .desfooter-address {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin: 14px 0 0;
  color: var(--brand-sand);
  font: 500 14px/1.4 var(--fuente);
}
#footer .desfooter-address svg {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
  margin-top: 1px;
}

/* Columna "atención al cliente" */
#footer .desfooter-contact {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
#footer .desfooter-contact li {
  display: flex;
  align-items: center;
  gap: 11px;
  color: var(--brand-sand);
  font: 500 14px/1.2 var(--fuente);
}
#footer .desfooter-contact a { color: inherit; text-decoration: none; }
#footer .desfooter-contact a:hover { text-decoration: underline; }
#footer .desfooter-contact svg { width: 17px; height: 17px; flex: 0 0 auto; }

/* Barra inferior (copyright) */
#footer .desfooter-copy {
  background: var(--brand-red);
  color: #fff;
  border-top: 1px solid rgba(255, 255, 255, .14);
  padding-top: 18px;
  padding-bottom: 18px;
}
#footer .desfooter-copy-grid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px 32px;
  flex-wrap: wrap;
}
#footer .desfooter-copy-text {
  font: 400 13px/1.4 var(--fuente);
  color: rgba(255, 255, 255, .8);
}
#footer .desfooter-copy-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 26px;
  flex-wrap: wrap;
}
#footer .desfooter-copy-links a {
  color: #fff;
  font: 600 12px/1 var(--fuente);
  text-transform: uppercase;
  letter-spacing: .03em;
  text-decoration: none;
  transition: opacity .2s ease;
}
#footer .desfooter-copy-links a:hover { opacity: .7; }

@media (max-width: 991px) {
  #footer .desfooter-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 575px) {
  #footer .desfooter-grid { grid-template-columns: 1fr; }
  #footer .desfooter-copy-grid { flex-direction: column; align-items: flex-start; }
}
