/* ==========================================================
   ACÁ — Estilos compartidos: comercios, pedidos, cuenta,
   sobre-aca, cómo funciona, ayuda, contacto.
   ========================================================== */

.contenedor-angosto { max-width: 680px; }

/* Encabezado de página */
.pg-head { margin: 18px 0 16px; }
.pg-head h1 { font-size: var(--fs-2xl); font-weight: 800; letter-spacing: -0.01em; }
.pg-head h1 .azul { color: var(--azul); }
.pg-head .contador { color: var(--gris-500); font-size: var(--fs-sm); margin-top: 2px; }

/* Grilla de comercios */
.grid-comercios { display: grid; grid-template-columns: 1fr; gap: 14px; }
@media (min-width: 620px)  { .grid-comercios { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (min-width: 1000px) { .grid-comercios { grid-template-columns: repeat(3, minmax(0,1fr)); } }

/* Estado vacío */
.vacio { text-align: center; padding: 48px 20px 60px; }
.vacio-ico { font-size: 50px; display: block; margin-bottom: 12px; }
.vacio h2 { font-size: var(--fs-lg); margin-bottom: 6px; }
.vacio p { color: var(--gris-500); margin-bottom: 20px; max-width: 44ch; margin-left: auto; margin-right: auto; }

/* Contenido institucional (artículo) */
.pg-contenido { padding: 22px 0 40px; }
.pg-contenido h1 { font-size: var(--fs-3xl); font-weight: 800; letter-spacing: -0.02em; margin-bottom: 14px; }
.pg-contenido h2 { font-size: var(--fs-xl); font-weight: 700; margin: 28px 0 10px; }
.pg-contenido p { color: var(--gris-700); line-height: 1.7; margin-bottom: 12px; }
.pg-contenido .lead { font-size: var(--fs-lg); color: var(--negro); }
.pg-contenido .cierre { font-weight: 600; color: var(--azul); font-size: var(--fs-lg); margin: 20px 0; }
.pg-contenido a:not(.btn) { color: var(--azul); font-weight: 600; }
.pg-contenido .btn { margin-top: 10px; }

/* Pasos numerados */
.pasos { display: flex; flex-direction: column; gap: 14px; margin: 8px 0 18px; }
.pasos li { display: flex; gap: 14px; align-items: flex-start; }
.pasos .num {
  flex-shrink: 0; width: 34px; height: 34px; border-radius: var(--r-full);
  background: var(--azul); color: var(--blanco); font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.pasos h3 { font-size: var(--fs-md); font-weight: 700; }
.pasos p { color: var(--gris-500); font-size: var(--fs-sm); margin-top: 2px; }

/* FAQ (acordeón nativo) */
.faq { margin: 8px 0 18px; }
.faq details { border: 1px solid var(--gris-200); border-radius: var(--r-md); padding: 4px 16px; margin-bottom: 10px; background: var(--blanco); }
.faq summary { cursor: pointer; font-weight: 600; padding: 12px 0; list-style: none; position: relative; padding-right: 28px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 4px; top: 10px; font-size: 20px; color: var(--azul); }
.faq details[open] summary::after { content: "−"; }
.faq details p { color: var(--gris-700); line-height: 1.6; padding-bottom: 14px; }

/* Formularios (vender, contacto, cuenta) */
.vender-form, .cuenta-form { display: flex; flex-direction: column; gap: 14px; }
.vender-form label, .cuenta-form label { display: flex; flex-direction: column; gap: 6px; font-size: var(--fs-sm); font-weight: 600; }
.vender-form input, .vender-form textarea,
.cuenta-form input {
  font-family: inherit; font-size: var(--fs-md); font-weight: 400;
  padding: 12px 14px; border: 1.5px solid var(--gris-200); border-radius: var(--r-md);
  background: var(--blanco); color: var(--negro);
}
.vender-form textarea { resize: vertical; }
.vender-form input:focus, .vender-form textarea:focus, .cuenta-form input:focus {
  outline: 0; border-color: var(--azul); box-shadow: 0 0 0 4px var(--azul-suave);
}

/* Cuenta */
.auth-card { max-width: 420px; margin: 24px auto; background: var(--blanco); border: 1px solid var(--gris-200); border-radius: var(--r-lg); padding: 22px; }
.auth-tabs { display: flex; gap: 6px; background: var(--gris-100); border-radius: var(--r-full); padding: 4px; margin-bottom: 20px; }
.auth-tab { flex: 1; padding: 10px; border-radius: var(--r-full); font-weight: 600; font-size: var(--fs-sm); color: var(--gris-700); }
.auth-tab.activo { background: var(--blanco); color: var(--azul); box-shadow: var(--sombra-1); }
.auth-nota { margin-top: 18px; font-size: var(--fs-xs); color: var(--gris-500); line-height: 1.6; text-align: center; background: var(--crema); padding: 12px; border-radius: var(--r-md); }

/* Auth: mensajes y panel de sesión */
.auth-msg { margin-top: 14px; font-size: var(--fs-sm); text-align: center; padding: 10px; border-radius: var(--r-md); }
.auth-msg.err { background: #FEF2F2; color: #B42318; }
.auth-msg.ok  { background: #ECFDF5; color: #067647; }
.sesion-ok { text-align: center; padding: 8px 0 18px; }
.sesion-ico { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: var(--r-full); background: #ECFDF5; color: #067647; font-size: 26px; font-weight: 700; margin-bottom: 10px; }
.sesion-ok h2 { font-size: var(--fs-lg); }
.sesion-ok p { color: var(--gris-500); margin-top: 4px; }

/* Mostrar/ocultar contraseña (ojito) */
.pass-wrap { position: relative; display: flex; }
.pass-wrap input { flex: 1; width: 100%; padding-right: 46px; }
.pass-ojo { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; color: var(--gris-500); border-radius: var(--r-full); }
.pass-ojo:hover { color: var(--azul); background: var(--azul-suave); }
.pass-ojo svg { width: 20px; height: 20px; }
