/* ============================================================
   Petite Annonce Kéréo — v1.2
   Palette Bleu #1a6fb5 / Vert #22a06b — Responsive + !important
   ============================================================ */

/* ── VARIABLES ───────────────────────────────────────────────── */
:root {
  --pak-blue:        #1a6fb5;
  --pak-blue-dark:   #125494;
  --pak-blue-light:  #eaf3fb;
  --pak-green:       #22a06b;
  --pak-green-dark:  #1a7d54;
  --pak-green-light: #e6f7f0;
  --pak-teal:        #0e8a7a;

  --pak-white:    #ffffff;
  --pak-bg:       #f4f6f8;
  --pak-gray-100: #f1f5f9;
  --pak-gray-200: #e2e8f0;
  --pak-gray-400: #94a3b8;
  --pak-gray-600: #475569;
  --pak-gray-800: #1e293b;

  --pak-error:    #e53e3e;
  --pak-warn-bg:  #fff8e6;
  --pak-warn-bdr: #f59e0b;
  --pak-warn-txt: #92400e;

  --pak-r-sm:  6px;
  --pak-r:     12px;
  --pak-r-lg:  20px;
  --pak-r-xl:  28px;

  --pak-sh-sm: 0 1px 3px rgba(0,0,0,.08);
  --pak-sh:    0 4px 16px rgba(0,0,0,.09);
  --pak-sh-lg: 0 8px 32px rgba(0,0,0,.11);

  --pak-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  --pak-transition: .2s ease;
}

/* ── RESET CIBLÉ ─────────────────────────────────────────────── */
.pak-wrapper,
.pak-wrapper *,
.pak-wrapper *::before,
.pak-wrapper *::after {
  box-sizing: border-box !important;
}
.pak-wrapper {
  font-family: var(--pak-font) !important;
  color: var(--pak-gray-800) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  -webkit-font-smoothing: antialiased !important;
}

.pak-wrapper a { color: var(--pak-blue) !important; text-decoration: none !important; }
.pak-wrapper a:hover { text-decoration: underline !important; }

/* ── BOUTONS ──────────────────────────────────────────────────── */
.pak-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 11px 22px !important;
  border-radius: var(--pak-r-sm) !important;
  font-family: var(--pak-font) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  border: 2px solid transparent !important;
  transition: all var(--pak-transition) !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  margin: 0 !important;
}
.pak-btn svg { width: 18px !important; height: 18px !important; flex-shrink: 0 !important; }
.pak-btn--primary {
  background: linear-gradient(135deg, var(--pak-blue), var(--pak-blue-dark)) !important;
  color: var(--pak-white) !important;
  border-color: var(--pak-blue-dark) !important;
}
.pak-btn--primary:hover {
  background: linear-gradient(135deg, var(--pak-blue-dark), #0d3f70) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(26,111,181,.3) !important;
  color: var(--pak-white) !important;
  text-decoration: none !important;
}
.pak-btn--secondary {
  background: linear-gradient(135deg, var(--pak-green), var(--pak-green-dark)) !important;
  color: var(--pak-white) !important;
  border-color: var(--pak-green-dark) !important;
}
.pak-btn--secondary:hover {
  background: linear-gradient(135deg, var(--pak-green-dark), #145c3e) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(34,160,107,.3) !important;
  color: var(--pak-white) !important;
  text-decoration: none !important;
}
.pak-btn--ghost {
  background: var(--pak-white) !important;
  color: var(--pak-gray-600) !important;
  border-color: var(--pak-gray-200) !important;
}
.pak-btn--ghost:hover {
  border-color: var(--pak-gray-400) !important;
  color: var(--pak-gray-800) !important;
  background: var(--pak-white) !important;
  text-decoration: none !important;
}
.pak-btn--full  { width: 100% !important; }
.pak-btn--lg    { padding: 14px 26px !important; font-size: 16px !important; border-radius: var(--pak-r) !important; }
.pak-btn--icon svg { width: 20px !important; height: 20px !important; }
.pak-btn:disabled { opacity: .5 !important; cursor: not-allowed !important; pointer-events: none !important; }

/* ── ALERTES ──────────────────────────────────────────────────── */
.pak-alert {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 16px 20px !important;
  border-radius: var(--pak-r) !important;
  font-size: 14px !important;
  margin-bottom: 20px !important;
}
.pak-alert__icon { font-size: 20px !important; flex-shrink: 0 !important; }
.pak-alert p { margin: 0 !important; }
.pak-alert--warning { background: var(--pak-warn-bg) !important; border: 1px solid var(--pak-warn-bdr) !important; color: var(--pak-warn-txt) !important; }
.pak-alert--error   { background: #fff1f0 !important; border: 1px solid var(--pak-error) !important; color: #9b1c1c !important; }

/* ── CHAMPS FORMULAIRE ────────────────────────────────────────── */
.pak-field { margin-bottom: 20px !important; }
.pak-field__label {
  display: block !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--pak-gray-800) !important;
  margin-bottom: 6px !important;
  font-family: var(--pak-font) !important;
}
.pak-field__req  { color: var(--pak-error) !important; }
.pak-field__opt  { color: var(--pak-gray-400) !important; font-weight: 400 !important; font-size: 12px !important; }
.pak-field__hint { display: block !important; font-size: 12px !important; color: var(--pak-gray-400) !important; margin-top: 4px !important; }

.pak-field__input,
.pak-field__textarea,
.pak-field__select {
  width: 100% !important;
  padding: 11px 14px !important;
  border: 1.5px solid var(--pak-gray-200) !important;
  border-radius: var(--pak-r-sm) !important;
  font-family: var(--pak-font) !important;
  font-size: 15px !important;
  color: var(--pak-gray-800) !important;
  background: var(--pak-white) !important;
  transition: border-color var(--pak-transition), box-shadow var(--pak-transition) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  line-height: 1.5 !important;
}
.pak-field__input:focus,
.pak-field__textarea:focus,
.pak-field__select:focus {
  outline: none !important;
  border-color: var(--pak-blue) !important;
  box-shadow: 0 0 0 3px rgba(26,111,181,.15) !important;
}
.pak-field__input::placeholder,
.pak-field__textarea::placeholder { color: var(--pak-gray-400) !important; }
.pak-field__textarea { resize: vertical !important; min-height: 130px !important; }

/* Champ avec icône gauche */
.pak-field__icon-wrap { position: relative !important; }
.pak-field__icon {
  position: absolute !important; left: 12px !important; top: 50% !important;
  transform: translateY(-50%) !important;
  width: 17px !important; height: 17px !important;
  stroke: var(--pak-gray-400) !important; pointer-events: none !important; z-index: 1 !important;
}
.pak-field__input--icon { padding-left: 38px !important; }

/* Select avec flèche custom */
.pak-field__select-wrap { position: relative !important; }
.pak-field__select-arrow {
  position: absolute !important; right: 12px !important; top: 50% !important;
  transform: translateY(-50%) !important;
  width: 16px !important; height: 16px !important;
  stroke: var(--pak-gray-400) !important; pointer-events: none !important;
}
.pak-field__select { padding-right: 36px !important; cursor: pointer !important; }

/* ── GRILLE CHAMPS ────────────────────────────────────────────── */
.pak-fields-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
}

/* ── ZONE UPLOAD ──────────────────────────────────────────────── */
.pak-upload {
  position: relative !important;
  border: 2px dashed var(--pak-gray-200) !important;
  border-radius: var(--pak-r) !important;
  background: var(--pak-gray-100) !important;
  cursor: pointer !important;
  overflow: hidden !important;
  transition: border-color var(--pak-transition), background var(--pak-transition) !important;
}
.pak-upload:hover, .pak-upload--dragover {
  border-color: var(--pak-blue) !important;
  background: var(--pak-blue-light) !important;
}
.pak-upload__input {
  position: absolute !important; inset: 0 !important;
  opacity: 0 !important; cursor: pointer !important;
  width: 100% !important; height: 100% !important; z-index: 2 !important;
}
.pak-upload__placeholder {
  padding: 40px 24px !important;
  text-align: center !important;
  pointer-events: none !important;
}
.pak-upload__icon {
  width: 48px !important; height: 48px !important;
  margin: 0 auto 14px !important;
  color: var(--pak-gray-400) !important;
}
.pak-upload__icon svg { width: 100% !important; height: 100% !important; }
.pak-upload__label {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--pak-gray-800) !important;
  margin-bottom: 4px !important;
}
.pak-upload__hint { font-size: 13px !important; color: var(--pak-gray-400) !important; }
.pak-upload__preview { position: relative !important; }
.pak-upload__preview img {
  width: 100% !important; max-height: 300px !important;
  object-fit: cover !important; display: block !important; border-radius: 0 !important;
}
.pak-upload__remove {
  position: absolute !important; top: 10px !important; right: 10px !important;
  width: 32px !important; height: 32px !important;
  background: rgba(255,255,255,.92) !important; border: none !important;
  border-radius: 50% !important; cursor: pointer !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  z-index: 3 !important; box-shadow: var(--pak-sh-sm) !important; padding: 0 !important;
  transition: box-shadow var(--pak-transition) !important;
}
.pak-upload__remove:hover { box-shadow: var(--pak-sh) !important; }
.pak-upload__remove svg { width: 16px !important; height: 16px !important; stroke: var(--pak-error) !important; }

/* ── CHECKBOX ─────────────────────────────────────────────────── */
.pak-checkbox {
  display: flex !important; align-items: flex-start !important;
  gap: 10px !important; cursor: pointer !important;
  font-size: 14px !important; color: var(--pak-gray-600) !important; line-height: 1.5 !important;
}
.pak-checkbox input[type="checkbox"] { position: absolute !important; opacity: 0 !important; width: 0 !important; height: 0 !important; }
.pak-checkbox__mark {
  flex-shrink: 0 !important; width: 20px !important; height: 20px !important;
  border: 2px solid var(--pak-gray-200) !important; border-radius: 4px !important;
  background: var(--pak-white) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  transition: all var(--pak-transition) !important; margin-top: 2px !important;
}
.pak-checkbox input:checked + .pak-checkbox__mark {
  background: var(--pak-blue) !important; border-color: var(--pak-blue) !important;
}
.pak-checkbox input:checked + .pak-checkbox__mark::after {
  content: '' !important; display: block !important;
  width: 5px !important; height: 9px !important;
  border: 2px solid var(--pak-white) !important;
  border-top: none !important; border-left: none !important;
  transform: rotate(45deg) translateY(-1px) !important;
}
.pak-checkbox__label a { color: var(--pak-blue) !important; font-weight: 600 !important; }

/* ── MESSAGES DE RETOUR ───────────────────────────────────────── */
.pak-form-message {
  padding: 14px 18px !important;
  border-radius: var(--pak-r-sm) !important;
  font-size: 14px !important; font-weight: 500 !important;
  margin-bottom: 16px !important; line-height: 1.5 !important;
  font-family: var(--pak-font) !important;
}
.pak-form-message--success { background: var(--pak-green-light) !important; border: 1px solid var(--pak-green) !important; color: var(--pak-green-dark) !important; }
.pak-form-message--error   { background: #fff1f0 !important; border: 1px solid var(--pak-error) !important; color: #9b1c1c !important; }

/* ── SPINNER ──────────────────────────────────────────────────── */
.pak-spinner {
  width: 18px !important; height: 18px !important;
  animation: pak-spin .8s linear infinite !important;
  display: inline-block !important; vertical-align: middle !important;
}
@keyframes pak-spin { to { transform: rotate(360deg); } }

/* ═══════════════════════════════════════════════════════════════
   FORMULAIRE DÉPÔT
═══════════════════════════════════════════════════════════════ */
.pak-depot-layout {
  display: grid !important;
  grid-template-columns: 1fr 300px !important;
  gap: 28px !important;
  align-items: start !important;
}

.pak-section-card {
  background: var(--pak-white) !important;
  border-radius: var(--pak-r-lg) !important;
  box-shadow: var(--pak-sh-sm) !important;
  border: 1px solid var(--pak-gray-200) !important;
  padding: 28px 32px !important;
  margin-bottom: 20px !important;
}
.pak-section-card__title {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--pak-gray-800) !important;
  margin-bottom: 22px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid var(--pak-gray-100) !important;
  font-family: var(--pak-font) !important;
  line-height: 1.3 !important;
}
.pak-section-card--submit {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  padding: 24px 32px !important;
}

/* Sidebar conseils */
.pak-depot-sidebar { display: flex !important; flex-direction: column !important; gap: 16px !important; position: sticky !important; top: 24px !important; }

.pak-tips-card {
  background: #fffbf0 !important;
  border: 1px solid #fde68a !important;
  border-radius: var(--pak-r-lg) !important;
  padding: 22px !important;
}
.pak-tips-card__title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #92400e !important;
  margin-bottom: 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: var(--pak-font) !important;
}
.pak-tips-list { list-style: none !important; display: flex !important; flex-direction: column !important; gap: 14px !important; }
.pak-tips-list__item {
  display: flex !important;
  gap: 12px !important;
  align-items: flex-start !important;
  font-size: 13px !important;
  color: var(--pak-gray-600) !important;
  font-family: var(--pak-font) !important;
}
.pak-tips-list__icon { font-size: 18px !important; flex-shrink: 0 !important; line-height: 1.3 !important; }
.pak-tips-list__item strong { display: block !important; color: var(--pak-gray-800) !important; font-size: 13px !important; margin-bottom: 2px !important; }
.pak-tips-list__item p { font-size: 12px !important; line-height: 1.4 !important; color: var(--pak-gray-400) !important; }

.pak-secure-note {
  background: var(--pak-blue-light) !important;
  border: 1px solid #b8daf5 !important;
  border-radius: var(--pak-r) !important;
  padding: 16px !important;
  display: flex !important;
  gap: 10px !important;
  align-items: flex-start !important;
  font-size: 13px !important;
  color: var(--pak-blue-dark) !important;
  font-family: var(--pak-font) !important;
}
.pak-secure-note span { font-size: 18px !important; flex-shrink: 0 !important; }
.pak-secure-note strong { display: block !important; font-size: 13px !important; margin-bottom: 2px !important; }
.pak-secure-note p { font-size: 12px !important; color: var(--pak-gray-600) !important; line-height: 1.4 !important; }

/* ═══════════════════════════════════════════════════════════════
   LISTE ANNONCES
═══════════════════════════════════════════════════════════════ */

/* Barre de recherche */
.pak-search-hero {
  margin-bottom: 24px !important;
}
.pak-search-hero__form { width: 100% !important; }
.pak-search-hero__field {
  display: flex !important;
  align-items: center !important;
  background: var(--pak-white) !important;
  border-radius: 50px !important;
  box-shadow: var(--pak-sh) !important;
  padding: 6px 6px 6px 20px !important;
  gap: 8px !important;
}
.pak-search-hero__icon {
  width: 20px !important; height: 20px !important;
  stroke: var(--pak-gray-400) !important; flex-shrink: 0 !important;
}
.pak-search-hero__input {
  flex: 1 !important;
  border: none !important;
  background: transparent !important;
  font-family: var(--pak-font) !important;
  font-size: 15px !important;
  color: var(--pak-gray-800) !important;
  outline: none !important;
  padding: 6px 0 !important;
}
.pak-search-hero__input::placeholder { color: var(--pak-gray-400) !important; }
.pak-search-hero__field .pak-btn--primary { border-radius: 50px !important; padding: 10px 24px !important; flex-shrink: 0 !important; }

/* Tabs catégories */
.pak-cat-tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-bottom: 16px !important;
}
.pak-cat-tab {
  display: inline-flex !important;
  padding: 7px 18px !important;
  border-radius: 50px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  border: 1.5px solid var(--pak-gray-200) !important;
  background: var(--pak-white) !important;
  color: var(--pak-gray-600) !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: all var(--pak-transition) !important;
  font-family: var(--pak-font) !important;
}
.pak-cat-tab:hover { border-color: var(--pak-blue) !important; color: var(--pak-blue) !important; text-decoration: none !important; }
.pak-cat-tab--active {
  background: var(--pak-blue) !important;
  border-color: var(--pak-blue) !important;
  color: var(--pak-white) !important;
}

/* Barre de filtres */
.pak-filter-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 24px !important;
  flex-wrap: wrap !important;
}
.pak-filter-bar__left { display: flex !important; align-items: center !important; gap: 10px !important; flex-wrap: wrap !important; }
.pak-filter-bar__form { display: flex !important; align-items: center !important; gap: 10px !important; flex-wrap: wrap !important; }
.pak-filter-bar__count { font-size: 14px !important; color: var(--pak-gray-600) !important; white-space: nowrap !important; font-family: var(--pak-font) !important; }
.pak-filter-bar__count strong { color: var(--pak-gray-800) !important; font-size: 16px !important; }

/* Pills de filtre */
.pak-filter-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: var(--pak-white) !important;
  border: 1.5px solid var(--pak-gray-200) !important;
  border-radius: 50px !important;
  padding: 7px 14px !important;
  transition: border-color var(--pak-transition) !important;
  position: relative !important;
}
.pak-filter-pill:hover { border-color: var(--pak-blue) !important; }
.pak-filter-pill > svg:first-child { width: 15px !important; height: 15px !important; stroke: var(--pak-gray-400) !important; flex-shrink: 0 !important; }
.pak-filter-pill__select {
  border: none !important; background: transparent !important;
  font-family: var(--pak-font) !important; font-size: 14px !important;
  font-weight: 500 !important; color: var(--pak-gray-700, #334155) !important;
  cursor: pointer !important; padding-right: 18px !important; outline: none !important;
  appearance: none !important; -webkit-appearance: none !important;
  box-shadow: none !important;
}
.pak-filter-pill__chevron { width: 14px !important; height: 14px !important; stroke: var(--pak-gray-400) !important; flex-shrink: 0 !important; }

.pak-filter-reset {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 13px !important;
  color: var(--pak-gray-400) !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: color var(--pak-transition) !important;
  font-family: var(--pak-font) !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
}
.pak-filter-reset:hover { color: var(--pak-error) !important; text-decoration: none !important; }
.pak-filter-reset svg { width: 14px !important; height: 14px !important; }

/* ── GRILLE ANNONCES ──────────────────────────────────────────── */
.pak-grid {
  display: grid !important;
  gap: 20px !important;
  margin-bottom: 40px !important;
}
.pak-grid--cols-2 { grid-template-columns: repeat(2, 1fr) !important; }
.pak-grid--cols-3 { grid-template-columns: repeat(3, 1fr) !important; }
.pak-grid--cols-4 { grid-template-columns: repeat(4, 1fr) !important; }

/* Carte annonce */
.pak-card {
  background: var(--pak-white) !important;
  border-radius: var(--pak-r-lg) !important;
  box-shadow: var(--pak-sh-sm) !important;
  border: 1px solid var(--pak-gray-200) !important;
  overflow: hidden !important;
  transition: box-shadow var(--pak-transition), transform var(--pak-transition) !important;
  display: flex !important; flex-direction: column !important;
}
.pak-card:hover { box-shadow: var(--pak-sh) !important; transform: translateY(-3px) !important; }
.pak-card__link { display: flex !important; flex-direction: column !important; flex: 1 !important; text-decoration: none !important; color: inherit !important; }
.pak-card__link:hover { text-decoration: none !important; }

.pak-card__media {
  position: relative !important;
  aspect-ratio: 4/3 !important;
  background: var(--pak-gray-100) !important;
  overflow: hidden !important;
}
.pak-card__img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; display: block !important;
  transition: transform .35s ease !important;
}
.pak-card:hover .pak-card__img { transform: scale(1.04) !important; }
.pak-card__no-img {
  width: 100% !important; height: 100% !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  color: var(--pak-gray-400) !important;
}
.pak-card__no-img svg { width: 40px !important; height: 40px !important; }

/* Badge état sur la carte */
.pak-badge {
  display: inline-flex !important;
  align-items: center !important;
  padding: 4px 10px !important;
  border-radius: 50px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  font-family: var(--pak-font) !important;
  line-height: 1 !important;
}
.pak-badge--neuf      { background: #dbeafe !important; color: #1e40af !important; }
.pak-badge--tres-bon  { background: #dcfce7 !important; color: #15803d !important; }
.pak-badge--bon       { background: #fef9c3 !important; color: #854d0e !important; }
.pak-badge--correct   { background: #fee2e2 !important; color: #991b1b !important; }

/* Position badge sur la carte */
.pak-card__media .pak-badge {
  position: absolute !important;
  bottom: 10px !important; left: 10px !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.12) !important;
}

/* Bouton coeur */
.pak-heart-btn {
  position: absolute !important; top: 10px !important; right: 10px !important;
  width: 34px !important; height: 34px !important;
  background: rgba(255,255,255,.88) !important;
  border: none !important; border-radius: 50% !important;
  display: none !important; align-items: center !important; justify-content: center !important;
  cursor: pointer !important; z-index: 2 !important;
  transition: background var(--pak-transition), transform var(--pak-transition) !important;
  backdrop-filter: blur(4px) !important;
  padding: 0 !important; box-shadow: var(--pak-sh-sm) !important;
}
.pak-heart-btn:hover { background: rgba(255,255,255,1) !important; transform: scale(1.12) !important; }
.pak-heart-btn svg { width: 17px !important; height: 17px !important; stroke: var(--pak-gray-600) !important; }
.pak-heart-btn.pak-heart-btn--active svg { stroke: var(--pak-error) !important; fill: var(--pak-error) !important; }

.pak-card__body { padding: 14px 16px !important; flex: 1 !important; }
.pak-card__title {
  font-size: 15px !important; font-weight: 700 !important;
  color: var(--pak-gray-800) !important; margin-bottom: 5px !important;
  line-height: 1.4 !important;
  display: -webkit-box !important; -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important; overflow: hidden !important;
  font-family: var(--pak-font) !important;
}
.pak-card__desc {
  font-size: 13px !important; color: var(--pak-gray-600) !important;
  line-height: 1.5 !important;
  display: -webkit-box !important; -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important; overflow: hidden !important;
  font-family: var(--pak-font) !important;
}
.pak-card__footer {
  display: flex !important; justify-content: space-between !important; align-items: center !important;
  padding: 10px 16px 14px !important;
  gap: 8px !important;
}
.pak-card__loc {
  display: flex !important; align-items: center !important; gap: 4px !important;
  font-size: 13px !important; color: var(--pak-gray-400) !important;
  font-family: var(--pak-font) !important; min-width: 0 !important;
}
.pak-card__loc svg { width: 13px !important; height: 13px !important; flex-shrink: 0 !important; }
.pak-card__price {
  font-size: 16px !important; font-weight: 700 !important;
  color: var(--pak-blue) !important; white-space: nowrap !important;
  font-family: var(--pak-font) !important; flex-shrink: 0 !important;
}

/* Pagination */
.pak-pagination { display: flex !important; justify-content: center !important; gap: 8px !important; margin-top: 32px !important; flex-wrap: wrap !important; }
.pak-pagination__item {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  min-width: 40px !important; height: 40px !important; padding: 0 8px !important;
  border-radius: var(--pak-r-sm) !important; border: 1.5px solid var(--pak-gray-200) !important;
  color: var(--pak-gray-600) !important; font-weight: 600 !important; font-size: 14px !important;
  text-decoration: none !important; transition: all var(--pak-transition) !important;
  background: var(--pak-white) !important; font-family: var(--pak-font) !important;
}
.pak-pagination__item:hover { border-color: var(--pak-blue) !important; color: var(--pak-blue) !important; text-decoration: none !important; }
.pak-pagination__item--active { background: var(--pak-blue) !important; border-color: var(--pak-blue) !important; color: var(--pak-white) !important; }

/* État vide */
.pak-empty { text-align: center !important; padding: 64px 24px !important; max-width: 400px !important; margin: 0 auto !important; }
.pak-empty__icon { width: 64px !important; height: 64px !important; background: var(--pak-gray-100) !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 0 auto 20px !important; color: var(--pak-gray-400) !important; }
.pak-empty__icon svg { width: 32px !important; height: 32px !important; }
.pak-empty__title { font-size: 18px !important; font-weight: 700 !important; margin-bottom: 8px !important; color: var(--pak-gray-800) !important; font-family: var(--pak-font) !important; }
.pak-empty__text { color: var(--pak-gray-600) !important; font-size: 14px !important; margin-bottom: 20px !important; font-family: var(--pak-font) !important; }

/* ═══════════════════════════════════════════════════════════════
   SINGLE ANNONCE
═══════════════════════════════════════════════════════════════ */

/* Fil d'Ariane */
.pak-breadcrumb {
  display: flex !important; align-items: center !important; flex-wrap: wrap !important;
  gap: 4px 8px !important; margin-bottom: 20px !important;
  font-size: 13px !important; list-style: none !important;
}
.pak-breadcrumb__item { color: var(--pak-gray-400) !important; text-decoration: none !important; font-family: var(--pak-font) !important; }
.pak-breadcrumb__item:hover { color: var(--pak-blue) !important; text-decoration: underline !important; }
.pak-breadcrumb__item--current { color: var(--pak-gray-800) !important; font-weight: 600 !important; }
.pak-breadcrumb__sep { color: var(--pak-gray-200) !important; }

/* Layout 2 colonnes */
.pak-single {
  display: grid !important;
  grid-template-columns: 1fr 380px !important;
  gap: 28px !important;
  align-items: start !important;
}

/* Galerie */
.pak-single__gallery {
  background: var(--pak-gray-100) !important;
  border-radius: var(--pak-r-xl) !important;
  overflow: hidden !important;
  margin-bottom: 20px !important;
  border: 1px solid var(--pak-gray-200) !important;
}
.pak-single__img {
  width: 100% !important; height: auto !important;
  max-height: 520px !important; object-fit: cover !important;
  display: block !important; border-radius: 0 !important;
}
.pak-single__no-img {
  padding: 80px 24px !important;
  display: flex !important; flex-direction: column !important; align-items: center !important;
  justify-content: center !important; gap: 10px !important;
  color: var(--pak-gray-400) !important; font-size: 13px !important;
  font-family: var(--pak-font) !important; text-align: center !important;
}
.pak-single__no-img svg { width: 52px !important; height: 52px !important; }

/* Description */
.pak-single__desc-card {
  background: var(--pak-white) !important;
  border-radius: var(--pak-r-xl) !important;
  border: 1px solid var(--pak-gray-200) !important;
  padding: 28px !important;
}
.pak-single__desc-title {
  font-size: 16px !important; font-weight: 700 !important;
  color: var(--pak-gray-800) !important; margin-bottom: 14px !important;
  font-family: var(--pak-font) !important; line-height: 1.3 !important;
}
.pak-single__desc-body { font-size: 15px !important; color: var(--pak-gray-600) !important; line-height: 1.8 !important; font-family: var(--pak-font) !important; }
.pak-single__desc-body p { margin-bottom: 10px !important; }
.pak-single__desc-body p:last-child { margin-bottom: 0 !important; }
.pak-single__no-desc { font-style: italic !important; color: var(--pak-gray-400) !important; }

/* Sidebar */
.pak-single__sidebar { display: flex !important; flex-direction: column !important; gap: 14px !important; position: sticky !important; top: 24px !important; }

/* Carte info principale */
.pak-info-card {
  background: var(--pak-white) !important;
  border-radius: var(--pak-r-xl) !important;
  border: 1px solid var(--pak-gray-200) !important;
  padding: 24px !important;
  display: flex !important; flex-direction: column !important; gap: 16px !important;
}
.pak-info-card__title {
  font-size: clamp(20px, 3vw, 26px) !important;
  font-weight: 800 !important; color: var(--pak-gray-800) !important;
  line-height: 1.3 !important; font-family: var(--pak-font) !important;
}
.pak-info-card__price {
  font-size: clamp(26px, 4vw, 34px) !important;
  font-weight: 800 !important; color: var(--pak-blue) !important;
  line-height: 1 !important; font-family: var(--pak-font) !important;
}

/* Chips État / Catégorie */
.pak-info-card__chips { display: flex !important; gap: 10px !important; flex-wrap: wrap !important; }
.pak-chip {
  background: var(--pak-gray-100) !important;
  border: 1px solid var(--pak-gray-200) !important;
  border-radius: var(--pak-r-sm) !important;
  padding: 10px 14px !important;
  display: flex !important; flex-direction: column !important; gap: 2px !important;
  flex: 1 !important; min-width: 110px !important;
}
.pak-chip--wide {
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  flex: unset !important; width: 100% !important;
  min-width: unset !important;
}
.pak-chip--wide svg { width: 16px !important; height: 16px !important; stroke: var(--pak-gray-400) !important; flex-shrink: 0 !important; }
.pak-chip__label {
  font-size: 11px !important; color: var(--pak-gray-400) !important;
  text-transform: uppercase !important; letter-spacing: .05em !important;
  font-weight: 600 !important; font-family: var(--pak-font) !important;
}
.pak-chip__value { font-size: 14px !important; font-weight: 700 !important; color: var(--pak-gray-800) !important; font-family: var(--pak-font) !important; }

.pak-info-card__secure {
  font-size: 12px !important; color: var(--pak-gray-400) !important;
  text-align: center !important; font-family: var(--pak-font) !important;
}

/* Carte vendeur */
.pak-seller-card {
  background: var(--pak-white) !important;
  border-radius: var(--pak-r-xl) !important;
  border: 1px solid var(--pak-gray-200) !important;
  padding: 18px 20px !important;
  display: flex !important; flex-direction: column !important; gap: 12px !important;
}
.pak-seller-card__head { display: flex !important; align-items: center !important; gap: 12px !important; }
.pak-seller-card__avatar {
  width: 48px !important; height: 48px !important; border-radius: 50% !important;
  border: 2px solid var(--pak-gray-200) !important; object-fit: cover !important; flex-shrink: 0 !important;
}
.pak-seller-card__meta { display: flex !important; flex-direction: column !important; gap: 2px !important; }
.pak-seller-card__name { font-size: 15px !important; font-weight: 700 !important; color: var(--pak-gray-800) !important; font-family: var(--pak-font) !important; }
.pak-seller-card__since { font-size: 12px !important; color: var(--pak-gray-400) !important; font-family: var(--pak-font) !important; }
.pak-seller-card__badges { display: flex !important; gap: 8px !important; flex-wrap: wrap !important; }

.pak-seller-badge {
  display: inline-flex !important; align-items: center !important; gap: 5px !important;
  font-size: 12px !important; font-weight: 600 !important; padding: 4px 10px !important;
  border-radius: 50px !important; font-family: var(--pak-font) !important;
}
.pak-seller-badge--verified { background: var(--pak-green-light) !important; color: var(--pak-green-dark) !important; }
.pak-seller-badge--verified svg { width: 12px !important; height: 12px !important; stroke: var(--pak-green-dark) !important; }

/* ── MODALE CONTACT ───────────────────────────────────────────── */
.pak-modal {
  position: fixed !important; inset: 0 !important; z-index: 99999 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  padding: 16px !important;
}
.pak-modal[hidden] { display: none !important; }
.pak-modal__backdrop {
  position: absolute !important; inset: 0 !important;
  background: rgba(15,23,42,.5) !important;
  backdrop-filter: blur(3px) !important;
}
.pak-modal__box {
  position: relative !important; z-index: 1 !important;
  background: var(--pak-white) !important;
  border-radius: var(--pak-r-xl) !important;
  box-shadow: var(--pak-sh-lg) !important;
  width: 100% !important; max-width: 480px !important;
  max-height: 90vh !important; overflow-y: auto !important;
  padding: 28px !important;
  animation: pak-modal-in .2s ease !important;
}
@keyframes pak-modal-in {
  from { opacity: 0; transform: translateY(12px) scale(.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
.pak-modal__header {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  margin-bottom: 20px !important;
}
.pak-modal__title {
  font-size: 18px !important; font-weight: 700 !important;
  color: var(--pak-gray-800) !important; font-family: var(--pak-font) !important; line-height: 1.3 !important;
}
.pak-modal__close {
  width: 34px !important; height: 34px !important;
  background: var(--pak-gray-100) !important; border: none !important;
  border-radius: 50% !important; cursor: pointer !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  transition: background var(--pak-transition) !important; flex-shrink: 0 !important; padding: 0 !important;
}
.pak-modal__close:hover { background: var(--pak-gray-200) !important; }
.pak-modal__close svg { width: 16px !important; height: 16px !important; stroke: var(--pak-gray-600) !important; }

.pak-modal__divider {
  display: flex !important; align-items: center !important; gap: 12px !important;
  font-size: 12px !important; color: var(--pak-gray-400) !important;
  text-transform: uppercase !important; letter-spacing: .05em !important;
  margin: 16px 0 !important; font-family: var(--pak-font) !important;
}
.pak-modal__divider::before,
.pak-modal__divider::after {
  content: '' !important; flex: 1 !important; height: 1px !important; background: var(--pak-gray-200) !important;
}

.pak-contact-form { display: flex !important; flex-direction: column !important; }

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════════════ */
@media (max-width: 1100px) {
  .pak-grid--cols-4 { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 960px) {
  .pak-single { grid-template-columns: 1fr !important; }
  .pak-single__sidebar { position: static !important; }
  .pak-depot-layout { grid-template-columns: 1fr !important; }
  .pak-depot-sidebar { position: static !important; }
  .pak-grid--cols-3 { grid-template-columns: repeat(2, 1fr) !important; }
  .pak-grid--cols-4 { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 640px) {
  .pak-search-hero__field .pak-btn--primary { padding: 10px 16px !important; font-size: 14px !important; }
  .pak-filter-bar { flex-direction: column !important; align-items: flex-start !important; }
  .pak-fields-grid { grid-template-columns: 1fr !important; }
  .pak-section-card { padding: 20px 18px !important; }
  .pak-info-card__chips { flex-direction: column !important; }
  .pak-chip { flex: unset !important; width: 100% !important; }
  .pak-pak-single__gallery { border-radius: var(--pak-r) !important; }
}
@media (max-width: 500px) {
  .pak-grid--cols-2,
  .pak-grid--cols-3,
  .pak-grid--cols-4 { grid-template-columns: 1fr !important; }
  .pak-cat-tabs { gap: 6px !important; }
  .pak-cat-tab { font-size: 13px !important; padding: 6px 14px !important; }
  .pak-modal__box { padding: 20px !important; border-radius: var(--pak-r) !important; }
}

/* ── ACCESSIBILITÉ ────────────────────────────────────────────── */
.pak-btn:focus-visible,
.pak-field__input:focus-visible,
.pak-field__textarea:focus-visible,
.pak-field__select:focus-visible {
  outline: 3px solid var(--pak-blue) !important;
  outline-offset: 2px !important;
}
@media (prefers-reduced-motion: reduce) {
  .pak-card, .pak-btn, .pak-card__img { transition: none !important; }
  .pak-spinner, .pak-modal__box { animation: none !important; }
}
