/* Emplacement : /assets/css/livraison-zones.css */

/* --- En-tête avec recherche de zone --- */
.afl-zones-hero { position: relative; overflow: hidden; }
.afl-zones-hero::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(circle at 15% 20%, rgba(234,88,12,0.12), transparent 45%),
              radial-gradient(circle at 85% 80%, rgba(14,165,233,0.12), transparent 45%);
}
.afl-zones-hero .container { position: relative; z-index: 1; }
.afl-zones-hero__row { text-align: left; }

.afl-zone-search {
  position: relative; display: flex; align-items: center; gap: 0;
  background: var(--afl-white); border-radius: 60px; padding: 0.5rem;
  max-width: 100%; margin: 0;
  box-shadow: 0 18px 44px rgba(17,24,39,0.14);
  border: 2px solid transparent;
  background-image: linear-gradient(#fff,#fff), linear-gradient(90deg, var(--afl-primary), var(--afl-accent), var(--afl-secondary), var(--afl-primary));
  background-origin: border-box; background-clip: padding-box, border-box;
  background-size: 100% 100%, 300% 100%;
  animation: afl-gradient-shift 6s ease infinite;
}
.afl-zone-search-icon { color: var(--afl-gray); margin-left: 1rem; flex-shrink: 0; }
.afl-zone-search input {
  flex: 1; min-width: 0; border: none; background: transparent; padding: 0.75rem 0.8rem;
  font-size: 0.98rem; outline: none; color: var(--afl-dark);
}
.afl-zone-search .btn { border-radius: 50px; padding: 0.7rem 1.5rem; flex-shrink: 0; white-space: nowrap; }

.afl-zone-result {
  display: flex; flex-direction: column; gap: 1.3rem;
  max-width: 100%; margin: 1.5rem 0 0; text-align: left;
  background: var(--afl-white); border: 1px solid #d1fae5; border-left: 5px solid var(--afl-success);
  border-radius: var(--afl-radius); padding: 1.4rem 1.6rem; box-shadow: var(--afl-shadow);
}
.afl-zone-result__top { display: flex; align-items: center; gap: 1.2rem; flex-wrap: wrap; }
.afl-zone-result__icon { font-size: 2.4rem; color: var(--afl-success); flex-shrink: 0; }
.afl-zone-result__text { flex: 1; min-width: 200px; }
.afl-zone-result__text strong { display: block; font-size: 1.05rem; color: var(--afl-dark); margin-bottom: 0.25rem; }
.afl-zone-result__text p { margin: 0; color: var(--afl-gray); font-size: 0.92rem; }
.afl-zone-result__cta { flex-shrink: 0; white-space: nowrap; }
.afl-zone-result__map {
  width: 100%; border-radius: 14px; overflow: hidden; border: 1px solid #e2e8f0;
  box-shadow: 0 8px 24px rgba(17,24,39,0.08);
}
.afl-zone-result__map iframe { width: 100%; height: 360px; border: 0; display: block; }

/* --- Annuaire des départements --- */
.afl-dept-directory { padding-top: 0.5rem; }
.afl-dept-region { margin-bottom: 2.4rem; }
.afl-dept-region__title {
  display: flex; align-items: center; gap: 0.6rem; font-size: 1.15rem;
  margin-bottom: 1.1rem; padding-bottom: 0.6rem; border-bottom: 2px solid var(--afl-light);
}
.afl-dept-region__title i { color: var(--afl-primary); }
.afl-dept-region__list {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 0.9rem;
}
.afl-dept-item {
  display: flex; align-items: center; gap: 0.8rem;
  background: var(--afl-white); border: 1px solid #f1f5f9; border-radius: 14px;
  padding: 0.8rem 1rem; box-shadow: 0 4px 14px rgba(17,24,39,0.05); transition: var(--afl-transition);
}
.afl-dept-item:hover { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(17,24,39,0.1); border-color: var(--afl-primary); }
.afl-dept-item--highlight { border-color: var(--afl-primary); box-shadow: 0 0 0 3px rgba(234,88,12,0.18); animation: afl-badge-pop 0.5s ease; }
.afl-dept-item__code {
  flex-shrink: 0; width: 42px; height: 42px; border-radius: 50%;
  background: linear-gradient(135deg, var(--afl-primary), var(--afl-accent)); color: var(--afl-white);
  display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 0.82rem;
}
.afl-dept-item__info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.afl-dept-item__info strong { font-size: 0.92rem; color: var(--afl-dark); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.afl-dept-item__info small { font-size: 0.76rem; color: var(--afl-gray); display: flex; align-items: center; gap: 0.3rem; }
.afl-dept-item__info small i { color: var(--afl-secondary); font-size: 0.7rem; }
.afl-dept-item__ok { color: var(--afl-success); font-size: 1.1rem; flex-shrink: 0; }

.afl-dept-empty { text-align: center; padding: 3rem 1rem; color: var(--afl-gray); }
.afl-dept-empty i { font-size: 2.4rem; color: #cbd5e1; margin-bottom: 0.8rem; display: block; }

/* --- Tableau des frais réels (conservé) --- */
.afl-zones-table { background: var(--afl-white); border-radius: var(--afl-radius); box-shadow: var(--afl-shadow); padding: 1rem; border: 1px solid #f1f5f9; }
.afl-zones-table i { color: var(--afl-primary); margin-right: 0.4rem; }
.afl-zones-note { display: flex; gap: 0.8rem; background: var(--afl-light); border-radius: 10px; padding: 1.2rem; margin-top: 1.5rem; }
.afl-zones-note i { color: var(--afl-primary); font-size: 1.2rem; }
.afl-zones-note p { margin: 0; font-size: 0.88rem; color: var(--afl-dark); }
.afl-zones-sidebar { background: var(--afl-white); border-radius: var(--afl-radius); box-shadow: var(--afl-shadow); padding: 1.8rem; border: 1px solid #f1f5f9; }
.afl-zones-sidebar ul { list-style: none; padding: 0; margin: 1rem 0; display: flex; flex-direction: column; gap: 0.8rem; }
.afl-zones-sidebar i.fa-check { color: var(--afl-success); margin-right: 0.5rem; }

@media (max-width: 767.98px) {
  .afl-zone-search { flex-wrap: wrap; border-radius: 24px; padding: 0.6rem; }
  .afl-zone-search-icon { display: none; }
  .afl-zone-search input { width: 100%; text-align: center; }
  .afl-zone-search .btn { width: 100%; margin-top: 0.4rem; }
  .afl-zone-result { text-align: center; padding: 1.2rem; }
  .afl-zone-result__top { flex-direction: column; }
  .afl-zone-result__text { min-width: 0; }
  .afl-zone-result__map iframe { height: 260px; }
  .afl-dept-region__list { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 0.6rem; }
  .afl-dept-item { padding: 0.6rem 0.7rem; gap: 0.5rem; }
  .afl-dept-item__code { width: 34px; height: 34px; font-size: 0.7rem; }
  .afl-dept-item__info strong { font-size: 0.82rem; }
  .afl-dept-item__info small { font-size: 0.7rem; }
}
