/* QUIMIKA — Favoritos. Conserva las variables del tema compartido. */
.favoritos-main { min-width:0; padding-bottom:80px; }
.favoritos-main, .favoritos-main * { box-sizing:border-box; }
.favoritos-main { --fav-acento:#f17878; --fav-tinta:var(--qm-texto,var(--text,#24202a)); --fav-suave:var(--qm-texto-secundario,var(--muted,#77717e)); --fav-panel:var(--qm-superficie,var(--panel,#fff)); --fav-fondo:var(--qm-superficie-secundaria,var(--surface,#f8f7fa)); --fav-borde:var(--qm-borde,var(--stroke,#eae5eb)); }
.favoritos-main .subtitle { color:var(--fav-suave); }
.favoritos-intro { display:flex; align-items:center; gap:20px; border:1px solid var(--fav-borde); background:var(--fav-panel); border-radius:22px; padding:24px; margin:24px 0; }
.favoritos-intro-icon { width:62px; height:62px; display:grid; place-items:center; border-radius:19px; flex:none; color:#e87272; background:rgba(241,120,120,.1); }
.favoritos-intro-icon svg { width:30px; height:30px; }
.favoritos-intro-texto { flex:1; min-width:0; }
.favoritos-eyebrow { display:block; font-size:10px; letter-spacing:.15em; font-weight:800; color:#d66b70; margin-bottom:6px; }
.favoritos-intro h2 { margin:0 0 6px; font-size:21px; line-height:1.2; color:var(--fav-tinta); }
.favoritos-intro p { margin:0; font-size:13px; color:var(--fav-suave); line-height:1.55; }
.favoritos-total { display:flex; flex-direction:column; text-align:center; padding:0 10px; color:var(--fav-suave); font-size:11px; }
.favoritos-total strong { font-size:32px; color:var(--fav-tinta); line-height:1.2; }
.favoritos-herramientas { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:25px; }
.favoritos-busqueda { display:flex; align-items:center; gap:12px; flex:1; max-width:520px; min-width:0; background:var(--fav-panel); border:1px solid var(--fav-borde); border-radius:14px; padding:0 15px; height:49px; color:var(--fav-suave); }
.favoritos-busqueda:focus-within { outline:2px solid rgba(241,120,120,.3); border-color:var(--fav-acento); }
.favoritos-busqueda svg { width:18px; flex:none; }
.favoritos-busqueda input { border:0; outline:0; background:transparent; width:100%; min-width:0; color:var(--fav-tinta); font:inherit; font-size:14px; }
.favoritos-busqueda input::placeholder { color:var(--fav-suave); }
.favoritos-acciones,.favoritos-vistas { display:flex; align-items:center; gap:6px; }
.favoritos-actualizar,.favoritos-vistas button { display:grid; place-items:center; width:45px; height:45px; background:var(--fav-panel); border:1px solid var(--fav-borde); color:var(--fav-suave); border-radius:12px; cursor:pointer; }
.favoritos-actualizar:hover,.favoritos-vistas button:hover,.favoritos-vistas button[aria-pressed="true"] { border-color:var(--fav-acento); color:var(--fav-acento); }
.favoritos-actualizar svg,.favoritos-vistas svg { width:19px; height:19px; }
.favoritos-listado-titulo { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.favoritos-listado-titulo h2 { color:var(--fav-tinta); font-size:17px; margin:0; }
.favoritos-listado-titulo span { color:var(--fav-suave); font-size:12px; }
.favoritos-aviso { padding:13px 15px; border-radius:12px; margin-bottom:16px; color:var(--fav-tinta); background:var(--fav-fondo); border:1px solid var(--fav-borde); font-size:13px; }
.favoritos-aviso[data-error="true"] { border-color:#d46d75; }
.favoritos-cargando { display:flex; gap:12px; align-items:center; justify-content:center; color:var(--fav-suave); padding:45px 10px; font-size:13px; }
.favoritos-spinner { width:20px; height:20px; border-radius:50%; border:2px solid var(--fav-borde); border-top-color:var(--fav-acento); animation:favGirar .8s linear infinite; }
@keyframes favGirar { to { transform:rotate(360deg); } }
.favoritos-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:15px; }
.favoritos-grid[data-view="two"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.favoritos-tarjeta { display:flex; overflow:hidden; min-width:0; background:var(--fav-panel); border:1px solid var(--fav-borde); border-radius:18px; min-height:188px; transition:border-color .15s; }
.favoritos-tarjeta:hover { border-color:var(--fav-acento); }
.favoritos-foto { display:block; flex:0 0 35%; max-width:205px; background:var(--fav-fondo); position:relative; overflow:hidden; }
.favoritos-foto img { display:block; width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:center top; }
.favoritos-sin-foto { display:grid; place-items:center; position:absolute; inset:0; font-size:35px; color:var(--fav-suave); }
.favoritos-info { display:flex; flex-direction:column; gap:8px; min-width:0; flex:1; padding:18px; }
.favoritos-nombre { font-size:17px; font-weight:800; color:var(--fav-tinta); text-decoration:none; overflow-wrap:anywhere; }
.favoritos-nombre:hover { color:var(--fav-acento); }
.favoritos-lugar,.favoritos-busca { display:flex; align-items:flex-start; gap:6px; line-height:1.45; font-size:12px; color:var(--fav-suave); margin:0; }
.favoritos-lugar svg,.favoritos-busca svg { flex:none; width:15px; height:15px; margin-top:1px; }
.favoritos-botones { display:flex; gap:8px; margin-top:auto; flex-wrap:wrap; }
.favoritos-botones button,.favoritos-botones a { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--fav-borde); border-radius:11px; background:var(--fav-fondo); color:var(--fav-suave); text-decoration:none; cursor:pointer; }
.favoritos-botones button:hover,.favoritos-botones a:hover { color:var(--fav-acento); border-color:var(--fav-acento); }
.favoritos-botones button[aria-pressed="true"] { color:var(--fav-acento); }
.favoritos-botones button:disabled { opacity:.45; cursor:wait; }
.favoritos-botones svg { width:18px; height:18px; }
.favoritos-vacio { text-align:center; border:1px dashed var(--fav-borde); background:var(--fav-panel); border-radius:20px; padding:42px 20px; }
.favoritos-vacio-icon { width:66px; height:66px; margin:0 auto 15px; display:grid; place-items:center; color:var(--fav-acento); background:rgba(241,120,120,.1); border-radius:20px; }
.favoritos-vacio-icon svg { width:28px; height:28px; }
.favoritos-vacio h2 { color:var(--fav-tinta); font-size:20px; margin:0 0 8px; }
.favoritos-vacio p { color:var(--fav-suave); font-size:13px; max-width:330px; margin:0 auto 22px; line-height:1.6; }
.favoritos-cta { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:13px 19px; background:var(--fav-acento); color:#fff; text-decoration:none; font-size:13px; font-weight:800; border-radius:12px; }
.favoritos-cta svg { width:17px; }
.favoritos-pie { color:var(--fav-suave); font-size:12px; line-height:1.6; margin-top:26px; }
.favoritos-perfil { display:grid; place-items:center; }
[hidden] { display:none !important; }
@media(min-width:1100px) { .favoritos-grid[data-view="two"] .favoritos-tarjeta { min-height:200px; } }
@media(max-width:700px) { .favoritos-intro { padding:17px; gap:12px; margin:17px 0 20px; } .favoritos-intro-icon { width:45px; height:45px; border-radius:13px; } .favoritos-intro-icon svg { width:23px; } .favoritos-intro h2 { font-size:16px; } .favoritos-intro p { font-size:12px; } .favoritos-total { padding:0; } .favoritos-total strong { font-size:23px; } .favoritos-herramientas { gap:8px; } .favoritos-actualizar,.favoritos-vistas button { width:40px; height:43px; } .favoritos-tarjeta { min-height:155px; } .favoritos-info { padding:12px; gap:6px; } .favoritos-foto { flex-basis:37%; } .favoritos-nombre { font-size:14px; } .favoritos-busca { font-size:11px; } .favoritos-botones button,.favoritos-botones a { width:34px; height:34px; } .favoritos-grid[data-view="two"] { grid-template-columns:repeat(2,minmax(0,1fr)); } .favoritos-grid[data-view="two"] .favoritos-tarjeta { display:block; } .favoritos-grid[data-view="two"] .favoritos-foto { width:100%; height:auto; max-width:none; aspect-ratio:4/5; } .favoritos-grid[data-view="two"] .favoritos-info { min-height:175px; } .favoritos-grid[data-view="two"] .favoritos-nombre { font-size:13px; } .favoritos-grid[data-view="two"] .favoritos-busca { display:none; } }
@media(max-width:380px) { .favoritos-intro p { display:none; } .favoritos-grid[data-view="two"] .favoritos-info { padding:9px; } .favoritos-acciones { gap:3px; } }
@media(prefers-reduced-motion:reduce) { .favoritos-spinner { animation:none; } }
