  :root{
    --papel:#EEE4CF; --papel-hondo:#E4D6B8;
    --tinta:#2A2018; --tinta-suave:#6B5D4C;
    --tabaco:#6B4226; --tabaco-oscuro:#4A2C18; --tabaco-claro:#C79A6E;
    --linea:#D9C8A0; --blanco:#FBF7EC;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  body{background:var(--papel);color:var(--tinta);font-family:"DM Sans",Georgia,serif;font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}
  a{color:inherit}
  .wrap{max-width:720px;margin:0 auto;padding:0 24px}
  h1,h2,h3{font-family:"Bricolage Grotesque","Iowan Old Style",Georgia,serif;font-weight:700;text-wrap:balance}
  .eyebrow{font-family:"DM Sans",system-ui,sans-serif;font-size:.6875rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--tabaco)}

  nav{border-bottom:1px solid var(--linea)}
  .nav-in{max-width:1060px;margin:0 auto;padding:22px 24px;display:flex;align-items:center;justify-content:space-between}
  .marca{display:flex;align-items:center;gap:11px;font-family:"Bricolage Grotesque",Georgia,serif;font-size:1.25rem;font-weight:700;text-decoration:none}
  .marca span{color:var(--tabaco)}
  .volver{font-family:"DM Sans",system-ui,sans-serif;font-size:.8125rem;letter-spacing:.04em;text-decoration:none;color:var(--tinta-suave)}
  .volver:hover{color:var(--tabaco)}

  main{padding:56px 0 80px}
  .tarjeta{background:var(--blanco);border:1px solid var(--linea);border-radius:14px;padding:32px;margin-bottom:28px}
  .tarjeta h2{font-size:1.35rem;margin-bottom:16px}
  .campo{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;font-family:"DM Sans",system-ui,sans-serif}
  .campo span{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--tinta-suave)}
  .campo input{font-family:"DM Sans",Georgia,serif;font-size:1rem;padding:11px 13px;border:1px solid var(--linea);border-radius:8px;background:#fff;color:var(--tinta)}
  .campo input:focus{outline:2px solid var(--tabaco-claro);outline-offset:1px}
  .btn{display:inline-block;background:var(--tabaco);color:#fff;font-family:"DM Sans",system-ui,sans-serif;font-size:.875rem;font-weight:600;letter-spacing:.03em;padding:13px 26px;border:none;border-radius:8px;cursor:pointer;text-decoration:none}
  .btn:hover{background:var(--tabaco-oscuro)}
  .btn[disabled]{opacity:.6;cursor:default}
  .btn-secundario{background:transparent;color:var(--tabaco);border:1px solid var(--tabaco)}
  .btn-secundario:hover{background:var(--papel-hondo)}
  .mensaje{font-family:"DM Sans",system-ui,sans-serif;font-size:.875rem;margin-top:14px;padding:12px 14px;border-radius:8px}
  .mensaje.ok{background:#E4EFE0;color:#33502C}
  .mensaje.error{background:#F3E0DA;color:#7A2E1D}
  .fila-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  @media (max-width:560px){.fila-2{grid-template-columns:1fr}}

  .pedido{border-top:1px solid var(--linea);padding:16px 0;font-family:"DM Sans",system-ui,sans-serif;font-size:.875rem}
  .pedido:first-child{border-top:none;padding-top:0}
  .pedido-cabecera{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
  .pedido-fecha{color:var(--tinta-suave)}
  .pedido-total{font-family:"Bricolage Grotesque",Georgia,serif;font-size:1.15rem}
  .pedido-items{color:var(--tinta-suave);font-size:.8125rem}
  .vacio{font-family:"DM Sans",system-ui,sans-serif;font-size:.875rem;color:var(--tinta-suave)}

  .fav-lista{display:flex;flex-wrap:wrap;gap:12px}
  .fav-chip{font-family:"DM Sans",system-ui,sans-serif;font-size:.8125rem;background:var(--papel-hondo);color:var(--tabaco-oscuro);padding:8px 16px;border-radius:100px}

  .dir-tarjeta{border:1px solid var(--linea);border-radius:10px;padding:16px 18px;margin-bottom:14px;font-family:"DM Sans",system-ui,sans-serif}
  .dir-cabecera{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
  .dir-etiqueta{display:flex;align-items:center;gap:8px;font-size:1rem;font-family:"Bricolage Grotesque",Georgia,serif;color:var(--tinta)}
  .dir-corazon{background:none;border:none;cursor:pointer;color:var(--tinta-suave);padding:0;line-height:1}
  .dir-corazon svg{width:19px;height:19px}
  .dir-corazon svg .relleno{opacity:0;transition:opacity .15s}
  .dir-corazon.activo{color:var(--tabaco)}
  .dir-corazon.activo svg .relleno{opacity:1}
  .dir-badge-fav{font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--tabaco);background:var(--papel-hondo);padding:2px 9px;border-radius:100px}
  .dir-texto{font-size:.875rem;color:var(--tinta-suave);margin-top:6px;line-height:1.5}
  .dir-acciones{display:flex;gap:14px;margin-top:10px}
  .dir-accion{font-size:.8125rem;color:var(--tabaco);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:2px;padding:0}
  .btn-agregar-dir{background:transparent;color:var(--tabaco);border:1px dashed var(--tabaco-claro);border-radius:8px;padding:11px 20px;font-family:"DM Sans",system-ui,sans-serif;font-size:.8125rem;font-weight:600;cursor:pointer;width:100%;margin-bottom:14px}
  .btn-agregar-dir:hover{background:var(--papel-hondo)}
  #form-direccion-wrap{display:none;border-top:1px solid var(--linea);padding-top:18px;margin-top:4px}

  .cabecera-cuenta{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
  .salir-link{font-family:"DM Sans",system-ui,sans-serif;font-size:.8125rem;color:var(--tinta-suave);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:2px}

  #vista-login{max-width:440px;margin:0 auto}
  #vista-login p{margin-bottom:20px;color:var(--tinta-suave)}
  #vista-cuenta{display:none}
  .cargando{text-align:center;color:var(--tinta-suave);font-family:"DM Sans",system-ui,sans-serif;padding:60px 0}

  /* ---------- Mi membresía (Fase 5 · Etapa 3) ---------- */
  .mem{border:1px solid var(--linea);border-radius:10px;padding:20px;margin-bottom:18px;font-family:"DM Sans",system-ui,sans-serif}
  .mem-cab{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:12px}
  .mem-proximo{font-size:.875rem;color:var(--tinta)}
  .mem-aviso{font-size:.8125rem;line-height:1.5;padding:10px 14px;border-radius:8px;margin:10px 0;background:#F6EBCB;color:#5a4500}
  .mem-aviso.cancelando{background:#F3E0DA;color:#7A2E1D}
  .mem h3{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--tinta-suave);margin:18px 0 8px;font-family:"DM Sans",system-ui,sans-serif;font-weight:600}
  .mem-fila{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--linea);font-size:.875rem}
  .mem-fila small{color:var(--tinta-suave)}
  .mem-stepper{display:flex;align-items:center;gap:4px;flex-shrink:0}
  .mem-stepper button{width:32px;height:32px;border:1px solid var(--linea);background:#fff;cursor:pointer;font-size:1.05rem;border-radius:6px}
  .mem-stepper button[disabled]{opacity:.4;cursor:default}
  .mem-cant{min-width:28px;text-align:center}
  .mem-pills{display:flex;gap:8px;flex-wrap:wrap}
  .mem-pill{font-size:.8125rem;padding:9px 16px;border:1px solid var(--linea);background:#fff;border-radius:100px;cursor:pointer}
  .mem-pill.activa{background:var(--tabaco);border-color:var(--tabaco);color:#fff}
  .mem-pill[disabled]{opacity:.5;cursor:default}
  .mem-dir{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .mem-dir label{display:flex;flex-direction:column;gap:4px;font-size:.6875rem;letter-spacing:.05em;text-transform:uppercase;color:var(--tinta-suave)}
  .mem-dir input{font:inherit;font-size:.875rem;text-transform:none;letter-spacing:0;color:var(--tinta);padding:9px 11px;border:1px solid var(--linea);border-radius:6px;background:#fff}
  .mem-dir .ancho{grid-column:1 / -1}
  @media(max-width:520px){.mem-dir{grid-template-columns:1fr}}
  .mem-desglose{margin-top:14px;border-top:1px solid var(--linea);padding-top:10px}
  .mem-linea{display:flex;justify-content:space-between;font-size:.875rem;padding:3px 0;color:var(--tinta-suave)}
  .mem-total{display:flex;justify-content:space-between;font-size:1rem;margin-top:8px;padding-top:8px;border-top:1px solid var(--linea)}
  .mem-agregar{background:none;border:1px dashed var(--linea);color:var(--tabaco);cursor:pointer;width:100%;padding:10px;margin-top:10px;font:inherit;font-size:.85rem}
  .mem-agregar:hover:not([disabled]){border-color:var(--tabaco)}
  .mem-otros{margin-top:6px}
  .mem-add{padding:6px 14px;font-size:.8rem}
  .mem-notas{font-size:.75rem;color:var(--tinta-suave);line-height:1.5;margin-top:6px}
  .mem-acciones{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
  .mem-peligro{background:transparent;color:#7A2E1D;border:1px solid #7A2E1D}
  .mem-peligro:hover{background:#F3E0DA}

  .pedido-calificar{margin-top:8px;font-size:.8125rem}
  .pedido-calificar a{color:var(--tabaco);margin-right:14px;white-space:nowrap}
  .pedido-calificar .cal-estado{color:var(--tinta-suave);margin-right:14px}
