/* =========================================================
   AlexMart Shipping LLC — Página de Aliados Internacionales
   Colores planos a propósito (nada de degradados grandes).
   ========================================================= */

/* ---- Hero ---- */
.allies-hero {
  background: var(--heading-color);
  padding: 150px 0 70px;
  color: #fff;
  position: relative;
}
.allies-hero::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px;
  background: var(--accent-color);
}
.allies-hero-content { max-width: 780px; margin: 0 auto; text-align: center; }
.allies-hero .section-badge { background: rgba(255, 255, 255, .12); color: #fff; }
.allies-hero h1 { color: #fff; font-size: clamp(1.8rem, 3.4vw, 2.5rem); margin: .8rem 0 1rem; }
.allies-hero p { color: rgba(255, 255, 255, .82); margin: 0 auto; }

/* ---- Sección directorio ---- */
.allies-section { background: var(--bg-soft); }
.allies-intro { color: var(--default-color); font-size: .96rem; max-width: 640px; margin: 0 auto 1.6rem; text-align: center; }

.allies-search {
  display: flex; align-items: center; gap: .7rem; max-width: 560px; margin: 0 auto 2.2rem;
  background: #fff; border-radius: 50px; padding: .8rem 1.5rem; border: 1px solid var(--border-color);
}
.allies-search i { color: var(--accent-color); font-size: 1.05rem; flex-shrink: 0; }
.allies-search input { flex: 1; min-width: 0; border: none; outline: none; background: transparent; font-size: .95rem; font-weight: 600; color: var(--heading-color); }
.allies-search input::placeholder { color: #9aa7b4; font-weight: 500; }

.allies-loader { display: flex; align-items: center; justify-content: center; gap: .8rem; padding: 3.5rem 0; color: var(--default-color); font-weight: 600; }
.preloader-spinner-sm {
  width: 30px; height: 30px; border-radius: 50%; flex-shrink: 0;
  border: 3px solid var(--accent-color-light); border-top-color: var(--accent-color);
  animation: spin .8s linear infinite;
}

.allies-subheading {
  display: flex; align-items: center; gap: .55rem; color: var(--heading-color);
  font-size: .82rem; text-transform: uppercase; letter-spacing: .05em; font-weight: 700;
  margin-bottom: 1.1rem;
}
.allies-subheading i { color: var(--accent-color); }
.allies-count {
  background: var(--accent-color-light); color: var(--accent-color-dark); font-size: .74rem;
  font-weight: 700; padding: .15rem .6rem; border-radius: 50px; margin-left: .2rem;
}
.allies-empty { text-align: center; color: #9aa7b4; padding: 2rem 0; margin: 0; }
.allies-block { margin-bottom: 2.8rem; }
.allies-block:last-child { margin-bottom: 0; }

/* ---- Tarjetas ---- */
.ally-card-main, .ally-card-agent {
  background: #fff; border-radius: 14px; padding: 1.3rem; height: 100%;
  border: 1px solid var(--border-color); border-top: 3px solid var(--accent-color);
}
.ally-card-main .ally-badge {
  display: inline-flex; align-items: center; gap: .35rem; background: var(--accent-color-light); color: var(--accent-color-dark);
  font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
  padding: .3rem .7rem; border-radius: 50px; margin-bottom: .7rem;
}
.ally-name { font-family: var(--font-heading); font-weight: 700; color: var(--heading-color); font-size: 1rem; margin-bottom: .3rem; }
.ally-address { font-size: .84rem; color: var(--default-color); display: flex; align-items: flex-start; gap: .4rem; margin-bottom: .9rem; }
.ally-address i { color: var(--danger-color); margin-top: .18rem; flex-shrink: 0; }

.ally-phones { border-top: 1px dashed var(--border-color); padding-top: .8rem; display: flex; flex-direction: column; gap: .5rem; }
.ally-phone-row { display: flex; align-items: center; justify-content: space-between; gap: .6rem; background: var(--bg-soft); border-radius: 8px; padding: .4rem .7rem; }
.ally-phone-number { font-size: .82rem; color: var(--heading-color); font-weight: 600; display: flex; align-items: center; gap: .4rem; }
.ally-phone-actions { display: flex; gap: .4rem; flex-shrink: 0; }
.ally-phone-actions a {
  width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: .8rem; transition: transform .2s ease;
}
.ally-phone-actions a:hover { transform: scale(1.1); }
.ally-btn-wa { background: #dcf8e5; color: #1fa971; }
.ally-btn-call { background: var(--accent-color-light); color: var(--accent-color-dark); }

.ally-card-agent { border-top-color: var(--heading-color); }
.ally-zones-label { display: block; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--default-color); margin-top: .9rem; margin-bottom: .35rem; }
.ally-zones { display: flex; flex-wrap: wrap; gap: .4rem; }
.ally-zone-tag { background: var(--accent-color-light); color: var(--accent-color-dark); font-size: .72rem; font-weight: 600; padding: .25rem .65rem; border-radius: 50px; }

@media (max-width: 480px) {
  .ally-phone-row { flex-wrap: wrap; }
}
