/* Base */
.lmq-wrap{ border:1px solid #e6eef2; border-radius:16px; padding:16px 16px 8px; box-shadow:0 12px 30px rgba(0,0,0,.06); }
.lmq-header{ border-radius:12px; padding:18px 18px; margin-bottom:14px; color:#fff; }
.lmq-header h3{ margin:0; font-size:26px; font-weight:900; letter-spacing:.3px; color:#fff; }
.lmq-header .tagline{ margin:6px 0 0; opacity:.95; font-weight:600; color:#fff; font-size:15px; }

.lmq-filters{ display:flex; gap:8px; flex-wrap:wrap; margin:8px 0 8px; align-items:center; }
.lmq-filters select, .lmq-filters input{ padding:12px 14px; border:1px solid #c8d6df; border-radius:10px; font-size:16px; }
.lmq-cta{ color:white; border:none; padding:12px 18px; border-radius:12px; font-weight:800; cursor:pointer; transition:transform .08s ease; }
.lmq-cta:active{ transform:scale(.98); }

.lmq-recientes{ display:flex; align-items:center; gap:8px; margin:4px 0 10px; font-size:14px; }
.lmq-chips{ display:flex; flex-wrap:wrap; gap:6px; }
.lmq-chipbtn{ background:#eef6ff; border:1px solid #cfe3ff; padding:6px 10px; border-radius:999px; cursor:pointer; font-size:13px; }
.lmq-chipbtn:hover{ filter:brightness(.98); }

.lmq-resultados{ display:grid; grid-template-columns: repeat(auto-fill, minmax(280px,1fr)); gap:14px; min-height:60px; }
/*
  Hardening: some themes/plugins also use generic classes like .card/.btn and may force
  flex/stretch behavior. We scope key rules under .lmq-wrap and add safe overrides.
*/
.lmq-wrap .lmq-card{ border:1px solid #eaeef2; border-radius:14px; padding:14px; position:relative; font-size:15px; background:#fff; display:block !important; }
.lmq-card{ border:1px solid #eaeef2; border-radius:14px; padding:14px; position:relative; font-size:15px; background:#fff; }
.lmq-chip{ position:absolute; top:10px; right:10px; font-weight:700; font-size:12px; padding:4px 8px; border-radius:999px; background:#374151; color:#f1f5f9; }
.lmq-title{ font-size:18px; font-weight:800; margin:0 28px 6px 0; }
.lmq-sub{ font-size:14px; margin:0 0 8px; color:#374151; }
.lmq-desc{ font-size:15px; color:#1f2937; }
.lmq-actions{ margin-top:8px; display:flex; gap:8px; align-items:center; }

/* Favorite star */
.lmq-star{ position:absolute; top:10px; left:10px; background:transparent; border:none; font-size:20px; cursor:pointer; line-height:1; }
.lmq-star[aria-pressed="true"]{ filter: drop-shadow(0 1px 0 rgba(0,0,0,.15)); }
.lmq-fav-toggle{ background:#111827; }

.lmq-video, img.lmq-video, iframe.lmq-video{ width:300px; height:300px; border-radius:12px; display:block; margin-top:8px; object-fit:cover; background:#000; }
iframe.lmq-video{ background:#fff; }

.lmq-pager{ display:flex; align-items:center; justify-content:center; gap:10px; margin:12px 0 4px; font-size:15px; }
.lmq-pager button{ padding:10px 14px; border-radius:10px; border:1px solid #cbd5e1; background:#fff; cursor:pointer; }

/* Lightbox */
.lmq-lightbox{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; background:rgba(0,0,0,.6); z-index:9999; }
.lmq-lightbox img{ max-width:92vw; max-height:92vh; border-radius:12px; box-shadow:0 20px 60px rgba(0,0,0,.3); }
.lmq-lightbox .lmq-close{ position:absolute; top:14px; right:14px; font-size:28px; width:40px; height:40px; border-radius:999px; border:none; background:#fff; cursor:pointer; line-height:40px; text-align:center; }

/* Themes */
.theme-ladrillo{ background:#f7fafb; }
.theme-ladrillo .lmq-header{ background:linear-gradient(135deg,#B4462E,#D76B4E); }
.theme-ladrillo .lmq-cta{ background:linear-gradient(135deg,#B4462E,#D76B4E); }
.theme-claro{ background:#ffffff; }
.theme-claro .lmq-header{ background:linear-gradient(135deg,#0ea5e9,#38bdf8); }
.theme-claro .lmq-cta{ background:linear-gradient(135deg,#0ea5e9,#38bdf8); }
.theme-semi{ background:#f0f2f5; }
.theme-semi .lmq-header{ background:linear-gradient(135deg,#8C2F1B,#B4462E); }
.theme-semi .lmq-cta{ background:linear-gradient(135deg,#8C2F1B,#B4462E); }


/* v1.1.3: Estrella a la derecha junto al chip + margen del título */
.lmq-star{ position:absolute; top:10px; right:46px; left:auto; z-index:2; font-size:20px; background:transparent; border:none; cursor:pointer; line-height:1; }
.lmq-chip{ position:absolute; top:10px; right:10px; z-index:2; }
.lmq-title{ margin-top: 36px; }

/* Estilo resaltado */
.lmq-mark{ background: #fff2a8; padding:0 .08em; border-radius: 2px; box-shadow: inset 0 0 0 1px rgba(178,148,0,.15); }


/* v1.1.4: efecto hover para estrella */
.lmq-star:hover{ color:#facc15; transform:scale(1.2); transition:all .15s ease-in-out; }


/* v1.1.5: estrella a la derecha, chip a la izquierda */
.lmq-star{
  position:absolute;
  top:10px;
  right:10px;
  left:auto;
  z-index:2;
  font-size:20px;
  background:transparent;
  border:none;
  cursor:pointer;
  line-height:1;
}
.lmq-chip{
  position:absolute;
  top:10px;
  left:10px;
  z-index:2;
}
.lmq-title{
  margin-top:36px;
}


/* v1.1.6: forzar posiciones chip y estrella */
.lmq-chip{
  position:absolute !important;
  top:10px !important;
  left:10px !important;
  right:auto !important;
  z-index:2;
}
.lmq-star{
  position:absolute !important;
  top:10px !important;
  right:10px !important;
  left:auto !important;
  z-index:2;
  font-size:20px;
  background:transparent;
  border:none;
  cursor:pointer;
  line-height:1;
}
.lmq-title{ margin-top:36px !important; }

/* botones extra */
.lmq-tools{ margin:10px 0; display:flex; gap:10px; flex-wrap:wrap; }
.lmq-tools button{ padding:8px 14px; border-radius:8px; border:none; cursor:pointer; font-weight:600; }
.lmq-tools .lmq-clear{ background:#e5e7eb; }
.lmq-tools .lmq-export{ background:#22c55e; color:#fff; }

/* v1.2.1: botón borrar favoritos usa mismo estilo .lmq-clear */

/* v1.2.3: spacing for reset button */
#lmqReset{margin-left:8px}


/* v1.3.0: Autoevaluación (Entendí / Repasar) */
.lmq-actions{ display:flex; gap:8px; margin-top:10px; }
.lmq-actions .lmq-ok, .lmq-actions .lmq-review{ padding:6px 10px; border:none; border-radius:8px; cursor:pointer; font-weight:600; }
.lmq-actions .lmq-ok{ background:#22c55e; color:#fff; }
.lmq-actions .lmq-review{ background:#f59e0b; color:#111; }
.lmq-actions .is-active{ outline:2px solid rgba(0,0,0,.15); }

/* Panel de progreso (se muestra solo si hay datos) */
#lmqProgress{ display:none; margin:14px 0 6px; padding:10px 12px; border-radius:10px; background:#f3f4f6; }
#lmqProgress strong{ margin-right:14px; }
#lmqProgress .pill{ display:inline-block; margin-right:8px; padding:4px 8px; border-radius:999px; background:#e5e7eb; font-weight:600; }


/* v1.3.1: toggles Solo Entendí / Solo Repasar */
.lmq-tools .lmq-toggle{ padding:8px 14px; border-radius:8px; border:1px solid #e5e7eb; background:#fff; cursor:pointer; font-weight:600; }
.lmq-tools .lmq-toggle[aria-pressed="true"]{ background:#111; color:#fff; border-color:#111; }
.lmq-tools .lmq-clear{ padding:8px 14px; border-radius:8px; border:none; background:#e5e7eb; cursor:pointer; font-weight:600; }


/* v1.3.4: Toasts */
#lmqToastHost{ position:fixed; right:16px; bottom:16px; z-index:99999; display:flex; flex-direction:column; gap:8px; }
.lmq-toast{ min-width:220px; max-width:360px; padding:10px 12px; border-radius:10px; box-shadow:0 6px 18px rgba(0,0,0,.12); font-weight:600; background:#111; color:#fff; opacity:.96; }
.lmq-toast.info{ background:#111; color:#fff; }
.lmq-toast.ok{ background:#22c55e; color:#fff; }
.lmq-toast.warn{ background:#f59e0b; color:#111; }

/* Buttons */
.lmq-btn{display:inline-block;padding:10px 14px;border-radius:10px;text-decoration:none}

/* Summary toggle: avoid inheriting white text from global styles */
.lmq-wrap details.lmq-det summary.lmq-btn{
  background:#f3f4f6;
  color:#111827;
  border:1px solid #d1d5db;
  border-radius:10px;
  cursor:pointer;
  user-select:none;
}

/* Ensure expanded text remains readable even if global styles set white */
.lmq-wrap .lmq-more,
.lmq-wrap .lmq-more p,
.lmq-wrap .lmq-desc,
.lmq-wrap .lmq-sub,
.lmq-wrap .lmq-title{
  color:#111827;
}

/* Botón Más recursos: fixed height, never stretch */
.lmq-wrap .lmq-btn-recursos{
  background:#e6533c;
  color:#fff;
  margin-top:8px;
  transition:transform .06s ease,opacity .2s ease;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  height:44px;
  line-height:44px;
  width:100%;
  flex:0 0 auto !important;
  align-self:flex-start !important;
}
.lmq-wrap .lmq-btn-recursos:hover{transform:translateY(-1px);opacity:.92}

/* ============================
   LMQ Unified Palette (Hardening)
   Keeps buttons/text readable even if theme/plugins override globals.
   ============================ */

.lmq-wrap, .lmq-fullwrap{
  --lmq-card-bg:#ffffff;
  --lmq-card-border:#eaeef2;
  --lmq-text:#1f2937;
  --lmq-muted:#555555;

  --lmq-btn-bg:#e6533c;          /* ladrillo */
  --lmq-btn-bg-hover:#cf4a35;
  --lmq-btn-text:#ffffff;

  --lmq-btn-soft-bg:#e0e7ef;     /* back/secondary */
  --lmq-btn-soft-bg-hover:#d6dee8;
  --lmq-btn-soft-text:#0f172a;

  --lmq-radius:12px;
  --lmq-btn-h:44px;
}

/* Force readable text inside cards */
.lmq-wrap, .lmq-wrap *{
  color: var(--lmq-text);
}
.lmq-wrap .lmq-header, .lmq-wrap .lmq-header *{
  color:#fff !important;
}
.lmq-wrap .lmq-desc, .lmq-wrap .lmq-sub, .lmq-wrap .lmq-muted{
  color: var(--lmq-muted) !important;
}

/* Primary buttons */
.lmq-wrap .lmq-btn,
.lmq-wrap .lmq-cta,
.lmq-wrap .lmq-btn-recursos,
.lmq-wrap details.lmq-det summary.lmq-btn{
  background: var(--lmq-btn-bg) !important;
  color: var(--lmq-btn-text) !important;
  border: none !important;
  border-radius: var(--lmq-radius) !important;
  height: var(--lmq-btn-h) !important;
  line-height: var(--lmq-btn-h) !important;
  padding: 0 16px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 auto !important;
  align-self:flex-start !important;
  text-decoration:none !important;
  font-weight:800 !important;
}

/* Hover */
.lmq-wrap .lmq-btn:hover,
.lmq-wrap .lmq-cta:hover,
.lmq-wrap .lmq-btn-recursos:hover,
.lmq-wrap details.lmq-det summary.lmq-btn:hover{
  background: var(--lmq-btn-bg-hover) !important;
}

/* Secondary / Back button (addon) */
.lmq-fullwrap .lmq-btn{
  border-radius: var(--lmq-radius);
}
.lmq-fullwrap .lmq-btn-back{
  background: var(--lmq-btn-soft-bg) !important;
  color: var(--lmq-btn-soft-text) !important;
  border: 1px solid rgba(15,23,42,.10) !important;
  height: var(--lmq-btn-h) !important;
  line-height: var(--lmq-btn-h) !important;
  padding: 0 14px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  text-decoration:none !important;
  font-weight:800 !important;
  flex:0 0 auto !important;
}
.lmq-fullwrap .lmq-btn-back:hover{
  background: var(--lmq-btn-soft-bg-hover) !important;
}

/* Make sure expanding details never stretches buttons */
.lmq-wrap .lmq-card,
.lmq-fullwrap .lmq-card{
  display:block !important;
  align-items:initial !important;
}

/* Universal brand chip: always readable (override any inherited color) */
.lmq-wrap .lmq-chip{
  background-color:#374151 !important;
  color:#ffffff !important;
  font-weight:600 !important;
  font-size:12px !important;
  padding:4px 10px !important;
  border-radius:999px !important;
  letter-spacing:.3px !important;
  line-height:1.4 !important;
}
