/* ═══════════════════════════════════════════════════════════
   Carisowo Auto — Frontend Styles
   ═══════════════════════════════════════════════════════════ */

:root {
  --cauto-green:    #25D366;
  --cauto-green-dark: #128C7E;
  --cauto-primary:  #1a6fd4;
  --cauto-primary-dark: #1558aa;
  --cauto-danger:   #e53935;
  --cauto-warning:  #f59e0b;
  --cauto-text:     #1e293b;
  --cauto-muted:    #64748b;
  --cauto-border:   #e2e8f0;
  --cauto-bg:       #f8fafc;
  --cauto-radius:   8px;
  --cauto-shadow:   0 2px 8px rgba(0,0,0,.08);
}

.cauto-btn {
  display:inline-flex;align-items:center;gap:6px;
  padding:10px 18px;border-radius:var(--cauto-radius);
  font-weight:600;font-size:14px;cursor:pointer;
  border:2px solid transparent;text-decoration:none;
  transition:all .2s;line-height:1;
}
.cauto-btn--primary  { background:var(--cauto-primary);color:#fff; }
.cauto-btn--primary:hover { background:var(--cauto-primary-dark);color:#fff; }
.cauto-btn--outline  { background:transparent;border-color:var(--cauto-border);color:var(--cauto-text); }
.cauto-btn--outline:hover { border-color:var(--cauto-primary);color:var(--cauto-primary); }
.cauto-btn--whatsapp { background:var(--cauto-green);color:#fff; }
.cauto-btn--whatsapp:hover { background:var(--cauto-green-dark);color:#fff; }
.cauto-btn--danger   { background:var(--cauto-danger);color:#fff; }
.cauto-btn--sm  { padding:6px 12px;font-size:13px; }
.cauto-btn--lg  { padding:14px 28px;font-size:16px; }

/* ── Form ── */
.cauto-select, .cauto-input, .cauto-textarea {
  width:100%;padding:10px 12px;
  border:1.5px solid var(--cauto-border);
  border-radius:var(--cauto-radius);
  font-size:14px;color:var(--cauto-text);
  transition:border-color .2s;background:#fff;
}
.cauto-select:focus,.cauto-input:focus,.cauto-textarea:focus {
  border-color:var(--cauto-primary);outline:none;
}
.cauto-select--sm { padding:6px 8px;font-size:13px; }

.cauto-form-row {
  display:grid;gap:16px;margin-bottom:16px;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
}
.cauto-form-row--actions { grid-template-columns:auto auto 1fr; }
.cauto-form-group { display:flex;flex-direction:column;gap:6px; }
.cauto-form-group label { font-weight:600;font-size:13px;color:var(--cauto-text); }
.cauto-form-group--full { grid-column:1/-1; }
.cauto-required label::after { content:' *';color:var(--cauto-danger); }

.cauto-checkbox { display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500; }

.cauto-notice {
  padding:12px 16px;border-radius:var(--cauto-radius);margin-bottom:16px;
  background:#dbeafe;color:#1e40af;border-left:4px solid var(--cauto-primary);
}
.cauto-notice--success { background:#dcfce7;color:#166534;border-color:#22c55e; }
.cauto-notice--error   { background:#fee2e2;color:#991b1b;border-color:var(--cauto-danger); }

/* ── Search ── */
.cauto-search-form { background:#fff;border:1px solid var(--cauto-border);border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:var(--cauto-shadow); }
.cauto-search-form__inner {}

/* ── Listings ── */
.cauto-listings-header { display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px;flex-wrap:wrap; }
.cauto-total-count { margin:0;color:var(--cauto-muted);font-size:14px; }
.cauto-sort { display:flex;align-items:center;gap:8px;font-size:14px; }
.cauto-no-results { grid-column:1/-1;text-align:center;padding:60px;color:var(--cauto-muted);font-size:16px; }

.cauto-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:20px;
  margin-bottom:32px;
}
.cauto-grid--4 { grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); }

/* ── Card ── */
.cauto-card {
  background:#fff;border-radius:12px;
  border:1px solid var(--cauto-border);
  overflow:hidden;box-shadow:var(--cauto-shadow);
  transition:transform .2s,box-shadow .2s;
}
.cauto-card:hover { transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.12); }

.cauto-card__image-wrap { display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--cauto-bg); }
.cauto-card__img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s; }
.cauto-card:hover .cauto-card__img { transform:scale(1.04); }

.cauto-badge {
  position:absolute;top:8px;right:8px;
  padding:3px 8px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;
}
.cauto-badge--featured { background:#f59e0b;color:#fff; }
.cauto-badge--neuf     { background:#22c55e;color:#fff; }
.cauto-badge--occasion { background:#64748b;color:#fff; }
.cauto-badge--import   { background:#6366f1;color:#fff;left:8px;right:auto; }

.cauto-card__body { padding:14px; }
.cauto-card__title { margin:0 0 8px;font-size:15px;line-height:1.3; }
.cauto-card__title a { text-decoration:none;color:var(--cauto-text); }
.cauto-card__title a:hover { color:var(--cauto-primary); }
.cauto-card__price { font-size:18px;font-weight:700;color:var(--cauto-primary);margin-bottom:8px; }
.cauto-neg { font-size:11px;font-weight:600;color:var(--cauto-warning);background:#fef3c7;padding:2px 6px;border-radius:4px;margin-left:6px; }

.cauto-card__meta { list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:6px; }
.cauto-card__meta li { font-size:12px;color:var(--cauto-muted);display:flex;align-items:center;gap:3px; }
.cauto-card__meta .dashicons { font-size:14px;width:14px;height:14px; }

.cauto-card__footer { display:flex;gap:8px;flex-wrap:wrap; }

/* ── Pagination ── */
.cauto-pagination { display:flex;gap:6px;justify-content:center;margin-top:24px;flex-wrap:wrap; }
.cauto-page-btn {
  width:36px;height:36px;border-radius:6px;border:1.5px solid var(--cauto-border);
  background:#fff;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;
}
.cauto-page-btn.active,.cauto-page-btn:hover { background:var(--cauto-primary);color:#fff;border-color:var(--cauto-primary); }

/* ── Detail ── */
.cauto-detail-wrap { max-width:1100px;margin:0 auto; }
.cauto-gallery { margin-bottom:28px; }
.cauto-gallery__main { border-radius:12px;overflow:hidden;background:var(--cauto-bg); }
.cauto-gallery__main-img { width:100%;max-height:480px;object-fit:cover;display:block; }
.cauto-gallery__main--empty { display:flex;align-items:center;justify-content:center;min-height:240px; }
.cauto-gallery__thumbs { display:flex;gap:8px;margin-top:8px;overflow-x:auto; }
.cauto-gallery__thumb { width:80px;height:60px;object-fit:cover;border-radius:6px;cursor:pointer;opacity:.7;border:2px solid transparent;transition:all .2s; }
.cauto-gallery__thumb.active,.cauto-gallery__thumb:hover { opacity:1;border-color:var(--cauto-primary); }

.cauto-detail-header { margin-bottom:24px; }
.cauto-detail-title { font-size:28px;margin:0 0 8px; }
.cauto-detail-price { font-size:32px;font-weight:700;color:var(--cauto-primary);margin-bottom:8px; }
.cauto-detail-badges { display:flex;gap:6px;flex-wrap:wrap; }

.cauto-specs { margin-bottom:28px; }
.cauto-specs h3 { font-size:18px;margin-bottom:12px; }
.cauto-specs-table { width:100%;border-collapse:collapse; }
.cauto-specs-table th,.cauto-specs-table td { padding:10px 14px;border-bottom:1px solid var(--cauto-border);font-size:14px; }
.cauto-specs-table th { text-align:left;color:var(--cauto-muted);width:40%;font-weight:500; }
.cauto-specs-table td { font-weight:600; }
.cauto-specs-table tr:last-child th,.cauto-specs-table tr:last-child td { border-bottom:none; }

.cauto-description { margin-bottom:28px; }
.cauto-description h3 { font-size:18px;margin-bottom:12px; }
.cauto-description__body { line-height:1.8;color:var(--cauto-text); }

.cauto-seller-box {
  background:var(--cauto-bg);border:1px solid var(--cauto-border);
  border-radius:12px;padding:24px;margin-bottom:28px;
}
.cauto-seller-box h3 { margin-top:0; }
.cauto-seller-info { display:flex;gap:14px;align-items:center;margin-bottom:16px; }
.cauto-seller-logo { width:64px;height:64px;border-radius:50%;object-fit:cover; }
.cauto-wa-multi { display:flex;flex-direction:column;gap:8px; }

/* Sticky WhatsApp button (mobile) */
.cauto-sticky-wa {
  position:fixed;bottom:20px;left:50%;transform:translateX(-50%);
  z-index:999;display:none;
  box-shadow:0 4px 20px rgba(37,211,102,.4);border-radius:50px;
}
@media (max-width:768px) {
  .cauto-sticky-wa { display:block; }
}

/* ── Dealer profile ── */
.cauto-dealer-header { display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap;margin-bottom:28px;background:#fff;padding:24px;border-radius:12px;border:1px solid var(--cauto-border); }
.cauto-dealer-logo { width:80px;height:80px;border-radius:50%;object-fit:cover; }
.cauto-dealer-name { margin:0 0 8px;font-size:24px; }
.cauto-dealer-desc { color:var(--cauto-muted);font-size:14px; }

/* ── Post form ── */
.cauto-post-form-wrap h2 { font-size:24px;margin-bottom:24px; }
.cauto-form-section { background:#fff;border:1px solid var(--cauto-border);border-radius:12px;padding:24px;margin-bottom:24px; }
.cauto-form-section h3 { margin-top:0;font-size:18px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--cauto-border); }
.cauto-form-actions { display:flex;gap:12px;justify-content:flex-end; }

/* Photo upload */
.cauto-photo-upload { border:2px dashed var(--cauto-border);border-radius:12px;text-align:center;margin-bottom:16px;cursor:pointer;transition:border-color .2s; }
.cauto-photo-upload:hover { border-color:var(--cauto-primary); }
.cauto-photo-upload__label { display:block;padding:40px;cursor:pointer; }
.cauto-photo-upload__label .dashicons { font-size:48px;display:block;color:var(--cauto-primary);margin:0 auto 12px; }
.cauto-photo-previews { display:flex;flex-wrap:wrap;gap:12px; }
.cauto-photo-preview { position:relative;width:110px;height:82px; }
.cauto-photo-preview img { width:100%;height:100%;object-fit:cover;border-radius:8px;border:2px solid var(--cauto-border); }
.cauto-photo-preview .cauto-remove-photo { position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:var(--cauto-danger);color:#fff;border:none;cursor:pointer;font-size:14px;line-height:22px;text-align:center; }

/* Phone rows */
.cauto-phone-row { display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap; }
.cauto-input--phone { max-width:240px; }

/* Similar */
.cauto-similar { margin-top:48px; }
.cauto-similar h3 { font-size:20px;margin-bottom:20px; }

/* Responsive */
@media (max-width:768px) {
  .cauto-form-row { grid-template-columns:1fr; }
  .cauto-form-row--actions { grid-template-columns:1fr 1fr; }
  .cauto-grid { grid-template-columns:1fr 1fr; }
  .cauto-detail-title { font-size:22px; }
  .cauto-detail-price { font-size:24px; }
  .cauto-dealer-header { flex-direction:column; }
}
@media (max-width:480px) {
  .cauto-grid { grid-template-columns:1fr; }
}

/* ── Bouton retour (fiche détail) ── */
.cauto-detail-back {
  margin-bottom: 20px;
}
.cauto-detail-back a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--cauto-muted);
  border-color: var(--cauto-border);
}
.cauto-detail-back a:hover {
  color: var(--cauto-primary);
  border-color: var(--cauto-primary);
}

/* ── Lien concessionnaire dans les cartes annonces ── */
.cauto-card__dealer {
  margin: 0 0 8px;
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--cauto-muted);
}
.cauto-card__dealer .dashicons { font-size: 13px; width: 13px; height: 13px; }
.cauto-card__dealer-link {
  color: var(--cauto-muted);
  text-decoration: none;
  font-weight: 500;
}
.cauto-card__dealer-link:hover { color: var(--cauto-primary); text-decoration: underline; }

/* ── Liste concessionnaires ── */
.cauto-dealers-list-wrap { }
.cauto-dealers-list__title { font-size: 24px; margin-bottom: 24px; }
.cauto-dealers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
}

.cauto-dealer-card {
  background: #fff;
  border: 1px solid var(--cauto-border);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--cauto-shadow);
  transition: transform .2s, box-shadow .2s;
}
.cauto-dealer-card:hover { transform: translateY(-3px); box-shadow: 0 6px 20px rgba(0,0,0,.12); }

.cauto-dealer-card__header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 18px 12px;
  text-decoration: none;
  color: inherit;
}
.cauto-dealer-card__header:hover .cauto-dealer-card__name { color: var(--cauto-primary); }

.cauto-dealer-card__logo {
  width: 56px; height: 56px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid var(--cauto-border);
}
.cauto-dealer-card__logo--placeholder {
  background: linear-gradient(135deg, var(--cauto-primary), #6366f1);
  display: flex; align-items: center; justify-content: center;
}
.cauto-dealer-card__logo--placeholder span {
  color: #fff; font-size: 20px; font-weight: 700;
}
.cauto-dealer-card__logo--lg { width: 72px; height: 72px; }

.cauto-dealer-card__name  { font-size: 16px; font-weight: 700; margin: 0 0 4px; }
.cauto-dealer-card__city  { font-size: 13px; color: var(--cauto-muted); margin: 0 0 4px; display:flex; align-items:center; gap:3px; }
.cauto-dealer-card__city .dashicons { font-size: 14px; width: 14px; height: 14px; }
.cauto-dealer-card__count { font-size: 12px; color: var(--cauto-primary); font-weight: 600; margin: 0; }

.cauto-dealer-card__previews {
  display: flex;
  gap: 4px;
  padding: 0 18px 12px;
}
.cauto-dealer-card__preview-thumb {
  flex: 1;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 6px;
  display: block;
}
.cauto-dealer-card__preview-thumb img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .3s;
}
.cauto-dealer-card__preview-thumb:hover img { transform: scale(1.08); }

.cauto-dealer-card__footer {
  display: flex;
  gap: 8px;
  padding: 12px 18px 16px;
  border-top: 1px solid var(--cauto-border);
  flex-wrap: wrap;
}

/* Dealer profile header stats */
.cauto-dealer-stats {
  display: flex;
  gap: 20px;
  margin: 6px 0;
  font-size: 13px;
  color: var(--cauto-muted);
}
.cauto-dealer-stats strong { color: var(--cauto-text); }
.cauto-dealer-section-title { font-size: 20px; margin: 28px 0 16px; }

@media (max-width: 480px) {
  .cauto-dealers-grid { grid-template-columns: 1fr; }
}
