/* ══ CLASIFICADOS ALTOKE v1.5 ══ */

/* ── Fuentes ── */
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@700;800;900&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&display=swap');

/* ══════════════════════════════════════════════
   RESET COMPLETO — aísla el plugin del tema WP
   Todo selector empieza con #ca-app para que
   no afecte ni sea afectado por el tema.
══════════════════════════════════════════════ */
#ca-app, #ca-app * {
  box-sizing: border-box !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#ca-app {
  /* Resetear lo que el tema puede pisar */
  all: initial;
  display: block !important;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  color: #111d16 !important;
  background: #f3f8f4 !important;
  min-height: 60vh;
  width: 100%;
}
/* Resetear elementos HTML comunes dentro del plugin */
#ca-app h1, #ca-app h2, #ca-app h3, #ca-app h4 {
  margin: 0 !important; padding: 0 !important;
  font-weight: 900 !important; line-height: 1.1 !important;
  font-family: 'Syne', 'Arial Black', Arial, sans-serif !important;
  color: inherit !important;
  border: none !important;
  background: none !important;
}
#ca-app p { margin: 0 !important; padding: 0 !important; }
#ca-app a { text-decoration: none !important; color: inherit !important; }
#ca-app button {
  cursor: pointer !important;
  font-family: 'DM Sans', sans-serif !important;
  border: none !important;
  outline: none !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
}
#ca-app input, #ca-app select, #ca-app textarea {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  outline: none !important;
  margin: 0 !important;
}
#ca-app img { display: block !important; max-width: 100% !important; border: none !important; }
#ca-app ul, #ca-app ol { list-style: none !important; margin: 0 !important; padding: 0 !important; }

/* ── VARIABLES ── */
#ca-app {
  --ca-green:    #1f9e4a;
  --ca-green-d:  #166e34;
  --ca-green-lt: #e8f7ed;
  --ca-ink:      #111d16;
  --ca-muted:    #5a7063;
  --ca-bg:       #f3f8f4;
  --ca-surface:  #ffffff;
  --ca-border:   #d2e8d8;
  --ca-radius:   14px;
  --ca-radius-s: 8px;
  --ca-shadow:   0 2px 14px rgba(31,158,74,.12);
}

/* ── VISTAS ── */
#ca-app .ca-view { display: none !important; }
#ca-app .ca-view.active { display: block !important; }

/* ══ NAV ══ */
#ca-app .ca-nav {
  background: #ffffff !important;
  border-bottom: 1.5px solid #d2e8d8 !important;
  padding: 0 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 58px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  box-shadow: 0 1px 8px rgba(0,0,0,.07) !important;
}
#ca-app .ca-nav-brand {
  font-family: 'Syne', 'Arial Black', Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  color: #111d16 !important;
  line-height: 1.15 !important;
}
#ca-app .ca-nav-brand span { color: #1f9e4a !important; display: block !important; }
#ca-app .ca-nav-tabs {
  display: flex !important;
  gap: 4px !important;
  background: #f3f8f4 !important;
  border-radius: 30px !important;
  padding: 4px !important;
}
#ca-app .ca-nav-tab {
  padding: 7px 16px !important;
  border-radius: 30px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #5a7063 !important;
  background: transparent !important;
  border: none !important;
  transition: all .2s !important;
  white-space: nowrap !important;
}
#ca-app .ca-nav-tab.active {
  background: #1f9e4a !important;
  color: #ffffff !important;
}

/* ══ HEADER GRILLA ══ */
#ca-app .ca-header {
  background: #166e34 !important;
  padding: 32px 18px 26px !important;
  position: relative !important;
  overflow: hidden !important;
}
#ca-app .ca-header::after {
  content: 'ALTOKE';
  position: absolute !important;
  right: -6px !important; top: 6px !important;
  font-family: 'Syne', 'Arial Black', Arial, sans-serif !important;
  font-size: 88px !important; font-weight: 900 !important;
  color: rgba(255,255,255,.05) !important;
  pointer-events: none !important; line-height: 1 !important;
}
#ca-app .ca-header h1 {
  font-size: 32px !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  margin-bottom: 8px !important;
  letter-spacing: -0.5px !important;
}
#ca-app .ca-header h1 em { color: #6ee08a !important; font-style: normal !important; }
#ca-app .ca-header p { font-size: 14px !important; color: rgba(255,255,255,.65) !important; margin-bottom: 18px !important; }

#ca-app .ca-search-row { display: flex !important; gap: 8px !important; max-width: 480px !important; }
#ca-app .ca-search-row input {
  flex: 1 !important; padding: 11px 16px !important; border-radius: 30px !important;
  border: 1.5px solid rgba(255,255,255,.25) !important;
  font-size: 14px !important;
  background: rgba(255,255,255,.15) !important; color: #ffffff !important;
}
#ca-app .ca-search-row input::placeholder { color: rgba(255,255,255,.5) !important; }
#ca-app .ca-search-row input:focus { background: rgba(255,255,255,.25) !important; }
#ca-app .ca-search-row button {
  background: #6ee08a !important; border-radius: 30px !important;
  padding: 11px 20px !important; color: #111d16 !important;
  font-size: 13px !important; font-weight: 800 !important;
  white-space: nowrap !important;
}

/* ══ FILTROS ══ */
#ca-app .ca-filters {
  display: flex !important; gap: 8px !important; overflow-x: auto !important;
  scrollbar-width: none !important;
  padding: 12px 14px !important; background: #ffffff !important;
  border-bottom: 1.5px solid #d2e8d8 !important;
}
#ca-app .ca-filters::-webkit-scrollbar { display: none !important; }
#ca-app .ca-chip {
  flex-shrink: 0 !important; padding: 7px 15px !important; border-radius: 30px !important;
  font-size: 12px !important; font-weight: 700 !important;
  border: 1.5px solid #d2e8d8 !important;
  background: #ffffff !important; color: #5a7063 !important;
  white-space: nowrap !important; transition: all .15s !important;
}
#ca-app .ca-chip.active {
  border-color: #1f9e4a !important;
  background: #e8f7ed !important;
  color: #166e34 !important;
}

#ca-app .ca-count {
  font-size: 12px !important; color: #5a7063 !important; font-weight: 600 !important;
}

/* ══ GRID ══ */
#ca-app .ca-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important; padding: 10px 12px 140px !important;
}
@media (min-width: 600px) { #ca-app .ca-grid { grid-template-columns: repeat(3,1fr) !important; } }
@media (min-width: 900px) { #ca-app .ca-grid { grid-template-columns: repeat(4,1fr) !important; } }

/* ══ CARD ══ */
#ca-app .ca-card {
  background: #ffffff !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 14px rgba(31,158,74,.12) !important;
  position: relative !important;
  transition: transform .18s !important;
}
#ca-app .ca-card:active { transform: scale(.97) !important; }

/* ── THUMBNAIL GRID (fotos múltiples) ── */
#ca-app .ca-thumb-grid {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1/1 !important;
  cursor: pointer !important;
  overflow: hidden !important;
  background: #e8f7ed !important;
  display: block !important;
}
#ca-app .ca-thumb-grid.fotos-1 .ca-t { width: 100% !important; height: 100% !important; }
#ca-app .ca-thumb-grid.fotos-2 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 2px !important;
}
#ca-app .ca-thumb-grid.fotos-3 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-rows: 1fr 1fr !important;
  gap: 2px !important;
}
#ca-app .ca-thumb-grid.fotos-3 .ca-t:first-child { grid-row: 1 / 3 !important; }
#ca-app .ca-thumb-grid.fotos-4 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-rows: 1fr 1fr !important;
  gap: 2px !important;
}
#ca-app .ca-t { overflow: hidden !important; position: relative !important; }
#ca-app .ca-t img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; display: block !important;
}
#ca-app .ca-thumb-grid.fotos-1 {
  display: block !important;
}
#ca-app .ca-thumb-grid.fotos-1 img {
  width: 100% !important; height: 100% !important; object-fit: cover !important;
}
#ca-app .ca-mas-badge {
  position: absolute !important; inset: 0 !important;
  background: rgba(0,0,0,.55) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  color: #ffffff !important;
  font-size: 22px !important; font-weight: 900 !important;
  font-family: 'Syne', 'Arial Black', Arial, sans-serif !important;
}

#ca-app .ca-card-body { padding: 10px 10px 12px !important; }
#ca-app .ca-card-cat {
  font-size: 10px !important; font-weight: 800 !important; letter-spacing: .6px !important;
  text-transform: uppercase !important; color: #1f9e4a !important; margin-bottom: 3px !important;
}
#ca-app .ca-card-title {
  font-size: 13px !important; font-weight: 600 !important; line-height: 1.35 !important;
  margin-bottom: 4px !important; color: #111d16 !important;
  display: -webkit-box !important; -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important; overflow: hidden !important;
}
#ca-app .ca-card-meta { font-size: 11px !important; color: #5a7063 !important; margin-bottom: 5px !important; }
#ca-app .ca-card-price {
  font-family: 'Syne', 'Arial Black', Arial, sans-serif !important;
  font-size: 18px !important; font-weight: 900 !important;
  margin-bottom: 8px !important; color: #111d16 !important;
}
#ca-app .ca-badge {
  position: absolute !important; top: 8px !important; left: 8px !important;
  font-size: 9px !important; font-weight: 800 !important;
  text-transform: uppercase !important; letter-spacing: .6px !important;
  padding: 3px 8px !important; border-radius: 30px !important; color: #fff !important;
  z-index: 2 !important;
}
#ca-app .ca-badge-nuevo { background: #1f9e4a !important; }
#ca-app .ca-badge-usado  { background: #111d16 !important; }
#ca-app .ca-btn-wa {
  display: flex !important; align-items: center !important; justify-content: center !important;
  gap: 6px !important; width: 100% !important; padding: 9px !important;
  background: #25D366 !important; color: #ffffff !important;
  border-radius: 8px !important;
  font-size: 12px !important; font-weight: 800 !important;
}

/* ══ FORMULARIO ══ */
#ca-app .ca-form-header {
  background: #ffffff !important; padding: 28px 18px 18px !important;
  border-bottom: 1.5px solid #d2e8d8 !important;
}
#ca-app .ca-form-header h2 { font-size: 28px !important; font-weight: 900 !important; color: #111d16 !important; }
#ca-app .ca-form-header h2 span { color: #1f9e4a !important; }
#ca-app .ca-form-header p { font-size: 13px !important; color: #5a7063 !important; margin-top: 5px !important; }

#ca-app .ca-form-body {
  padding: 18px !important; display: flex !important;
  flex-direction: column !important; gap: 18px !important; padding-bottom: 140px !important;
  background: #f3f8f4 !important;
}
#ca-app .ca-field { display: flex !important; flex-direction: column !important; gap: 6px !important; }
#ca-app .ca-field label {
  font-size: 11px !important; font-weight: 800 !important;
  text-transform: uppercase !important; letter-spacing: .7px !important; color: #5a7063 !important;
}
#ca-app .ca-field input,
#ca-app .ca-field select,
#ca-app .ca-field textarea {
  font-size: 15px !important; padding: 12px 14px !important;
  border: 1.5px solid #d2e8d8 !important; border-radius: 8px !important;
  background: #ffffff !important; color: #111d16 !important;
  width: 100% !important; -webkit-appearance: none !important;
  transition: border-color .15s !important;
}
#ca-app .ca-field input:focus,
#ca-app .ca-field select:focus,
#ca-app .ca-field textarea:focus {
  border-color: #1f9e4a !important;
  box-shadow: 0 0 0 3px rgba(31,158,74,.12) !important;
}
#ca-app .ca-field textarea { resize: none !important; }

/* Upload fotos múltiples */
#ca-app .ca-upload-wrap { position: relative !important; }
#ca-app .ca-upload {
  border: 2px dashed #d2e8d8 !important; border-radius: 14px !important;
  padding: 26px 16px !important; display: flex !important; flex-direction: column !important;
  align-items: center !important; gap: 8px !important; text-align: center !important;
  background: #ffffff !important; cursor: pointer !important;
  transition: border-color .15s, background .15s !important;
}
#ca-app .ca-upload.has-photo { border-color: #1f9e4a !important; background: #e8f7ed !important; }
#ca-app .ca-upload p { font-size: 14px !important; font-weight: 700 !important; color: #5a7063 !important; }
#ca-app .ca-upload small { font-size: 11px !important; color: #8aab92 !important; }
#ca-app .ca-foto-input {
  position: absolute !important; inset: 0 !important;
  width: 100% !important; height: 100% !important;
  opacity: 0 !important; cursor: pointer !important; font-size: 0 !important;
}
/* Preview fotos múltiples en cuadrícula */
#ca-app .ca-fotos-preview {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 8px !important; margin-top: 10px !important;
}
#ca-app .ca-foto-thumb {
  position: relative !important;
  aspect-ratio: 1/1 !important;
  border-radius: 8px !important; overflow: hidden !important;
  border: 2px solid #1f9e4a !important;
}
#ca-app .ca-foto-thumb img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
#ca-app .ca-foto-thumb .ca-remove {
  position: absolute !important; top: 4px !important; right: 4px !important;
  background: rgba(0,0,0,.6) !important; color: #fff !important;
  border-radius: 50% !important; width: 20px !important; height: 20px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-size: 12px !important; font-weight: 900 !important; cursor: pointer !important;
  border: none !important; line-height: 1 !important;
}

#ca-app .ca-cond-row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
#ca-app .ca-cond {
  padding: 14px 8px !important; border: 1.5px solid #d2e8d8 !important;
  border-radius: 8px !important; background: #ffffff !important;
  font-size: 13px !important; font-weight: 700 !important;
  color: #5a7063 !important; transition: all .15s !important; text-align: center !important;
}
#ca-app .ca-cond.selected {
  border-color: #1f9e4a !important; background: #e8f7ed !important; color: #166e34 !important;
}
#ca-app .ca-wa-hint {
  display: flex !important; align-items: center !important; gap: 8px !important;
  background: #e8f7ed !important; border: 1.5px solid #b2e8c4 !important;
  border-radius: 8px !important; padding: 10px 12px !important;
  font-size: 13px !important; color: #166e34 !important; margin-top: 4px !important;
}
#ca-app .ca-terms-row {
  display: flex !important; align-items: flex-start !important;
  gap: 10px !important; font-size: 12px !important; color: #5a7063 !important;
}
#ca-app .ca-terms-row input {
  width: 18px !important; height: 18px !important; flex-shrink: 0 !important;
  accent-color: #1f9e4a !important; margin-top: 2px !important;
  padding: 0 !important; border: none !important;
}
#ca-app .ca-error {
  background: #fde8e8 !important; border: 1.5px solid #f9c1c1 !important;
  border-radius: 8px !important; padding: 11px 14px !important;
  font-size: 13px !important; color: #b91c1c !important; font-weight: 600 !important;
}
#ca-app .ca-btn-primary {
  background: #1f9e4a !important; color: #ffffff !important;
  border-radius: 14px !important; padding: 16px !important;
  font-size: 16px !important; font-weight: 800 !important; width: 100% !important;
  transition: background .15s !important; display: block !important;
  text-align: center !important;
}
#ca-app .ca-btn-primary:hover { background: #166e34 !important; }
#ca-app .ca-btn-primary:disabled { opacity: .6 !important; cursor: not-allowed !important; }
#ca-app .ca-btn-sec {
  background: #e8f7ed !important; color: #166e34 !important;
  border-radius: 14px !important; padding: 14px !important;
  font-size: 14px !important; font-weight: 700 !important;
  width: 100% !important; max-width: 280px !important; display: block !important;
  text-align: center !important;
}

/* ══ RECIBO ══ */
#ca-app .ca-recibo-wrap {
  padding: 20px 16px 140px !important;
  display: flex !important; flex-direction: column !important;
  align-items: center !important; gap: 16px !important;
  background: #f3f8f4 !important;
}
#ca-app .ca-recibo {
  background: #ffffff !important; border-radius: 20px !important;
  overflow: hidden !important; box-shadow: 0 4px 24px rgba(0,0,0,.12) !important;
  width: 100% !important; max-width: 380px !important;
}
#ca-app .ca-recibo-header {
  background: #1f9e4a !important; padding: 24px 20px 20px !important; text-align: center !important;
}
#ca-app .ca-recibo-header .ca-check {
  width: 56px !important; height: 56px !important;
  background: rgba(255,255,255,.2) !important; border-radius: 50% !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  margin: 0 auto 12px !important; font-size: 28px !important;
}
#ca-app .ca-recibo-header h3 { font-size: 20px !important; color: #fff !important; margin-bottom: 4px !important; }
#ca-app .ca-recibo-header p { font-size: 13px !important; color: rgba(255,255,255,.85) !important; }
#ca-app .ca-recibo-body { padding: 20px !important; }
#ca-app .ca-recibo-row {
  display: flex !important; justify-content: space-between !important;
  padding: 10px 0 !important; border-bottom: 1px solid #d2e8d8 !important; gap: 12px !important;
}
#ca-app .ca-recibo-row:last-of-type { border-bottom: none !important; }
#ca-app .ca-rl { font-size: 11px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: .5px !important; color: #5a7063 !important; flex-shrink: 0 !important; }
#ca-app .ca-rv { font-size: 14px !important; font-weight: 600 !important; color: #111d16 !important; text-align: right !important; }
#ca-app .ca-codigo-box {
  background: #111d16 !important; border-radius: 8px !important;
  padding: 16px !important; margin: 16px 0 !important; text-align: center !important;
}
#ca-app .ca-codigo-label { font-size: 10px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: .8px !important; color: rgba(255,255,255,.5) !important; margin-bottom: 6px !important; }
#ca-app .ca-codigo { font-family: 'Courier New', monospace !important; font-size: 28px !important; font-weight: 900 !important; color: #6ee08a !important; letter-spacing: 4px !important; }
#ca-app .ca-codigo-hint { font-size: 12px !important; color: rgba(255,255,255,.6) !important; margin-top: 6px !important; line-height: 1.4 !important; }
#ca-app .ca-recibo-instruccion {
  background: #fff8e6 !important; border: 1.5px solid #f5d87e !important;
  border-radius: 8px !important; padding: 12px 14px !important;
  font-size: 13px !important; color: #7a5c00 !important; line-height: 1.5 !important;
}
#ca-app .ca-recibo-instruccion strong { display: block !important; margin-bottom: 4px !important; font-weight: 800 !important; }
#ca-app .ca-recibo-actions {
  display: flex !important; flex-direction: column !important;
  gap: 10px !important; width: 100% !important; max-width: 380px !important;
  align-items: center !important;
}
#ca-app .ca-btn-descargar {
  display: flex !important; align-items: center !important; justify-content: center !important;
  gap: 8px !important; background: #111d16 !important; color: #ffffff !important;
  border-radius: 14px !important; padding: 14px !important;
  font-size: 15px !important; font-weight: 800 !important; width: 100% !important;
}

#ca-app .ca-loading {
  text-align: center !important; padding: 40px !important;
  color: #5a7063 !important; font-size: 14px !important; grid-column: 1/-1 !important;
}

/* ══ LIGHTBOX (fuera de #ca-app, es fixed global) ══ */
#ca-lightbox {
  display: none;
  position: fixed; inset: 0;
  background: rgba(0,0,0,.93);
  z-index: 99999;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-family: 'DM Sans', sans-serif;
}
#ca-lightbox.open { display: flex; }
#ca-lightbox .lb-close {
  position: absolute; top: 16px; right: 16px;
  background: rgba(255,255,255,.15); border: none; color: #fff;
  width: 40px; height: 40px; border-radius: 50%; font-size: 20px;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  z-index: 10;
}
#ca-lightbox .lb-track-wrap { width: 100%; overflow: hidden; }
#ca-lightbox .lb-track { display: flex; transition: transform .3s ease; }
#ca-lightbox .lb-slide {
  min-width: 100%; display: flex; align-items: center;
  justify-content: center; padding: 0 14px;
}
#ca-lightbox .lb-slide img {
  max-width: 100%; max-height: 72vh;
  object-fit: contain; border-radius: 10px; display: block;
}
#ca-lightbox .lb-dots { display: flex; gap: 6px; margin-top: 16px; }
#ca-lightbox .lb-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: rgba(255,255,255,.3); transition: background .2s;
}
#ca-lightbox .lb-dot.active { background: #6ee08a; }
#ca-lightbox .lb-arrows { display: flex; gap: 16px; margin-top: 14px; }
#ca-lightbox .lb-arrow {
  background: rgba(255,255,255,.12); border: none; color: #fff;
  width: 46px; height: 46px; border-radius: 50%; font-size: 22px;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
}
#ca-lightbox .lb-counter { color: rgba(255,255,255,.55); font-size: 13px; margin-top: 8px; }

/* Barra de count + borrar */
#ca-app .ca-count-bar {
  display: flex !important; align-items: center !important;
  justify-content: space-between !important; padding: 10px 14px 2px !important;
}
#ca-app .ca-btn-borrar-link {
  font-size: 12px !important; font-weight: 700 !important; color: #5a7063 !important;
  background: none !important; border: none !important; text-decoration: underline !important;
  cursor: pointer !important; padding: 0 !important;
}

/* ══ PILLS DE SECCIÓN (navegación entre módulos) ══ */
#ca-app .ca-section-pills {
  display: flex !important;
  gap: 6px !important;
  padding: 10px 14px !important;
  background: #ffffff !important;
  border-bottom: 1.5px solid #d2e8d8 !important;
}
#ca-app .ca-section-pill {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 7px 16px !important;
  border-radius: 30px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border: 1.5px solid #d2e8d8 !important;
  background: #ffffff !important;
  color: #5a7063 !important;
  cursor: pointer !important;
  transition: all .2s !important;
  font-family: 'DM Sans', sans-serif !important;
}
#ca-app .ca-section-pill.active {
  background: #1f9e4a !important;
  border-color: #1f9e4a !important;
  color: #ffffff !important;
}
#ca-app .ca-section-pill:hover:not(.active):not(.ca-section-pill-disabled) {
  border-color: #1f9e4a !important;
  color: #1f9e4a !important;
}
#ca-app .ca-section-pill-disabled {
  opacity: .4 !important;
  cursor: default !important;
}
